[systemd-devel] [PATCH 2/2] logind: do not continue when runtime creation path fails
Lennart Poettering
lennart at poettering.net
Tue Feb 10 03:30:30 PST 2015
On Sun, 08.02.15 22:21, Philippe De Swert (philippedeswert at gmail.com) wrote:
> In user_mkdir_runtime_path() there is no need to continue if the
> creation of the directory fails for whatever reason, as subsequent
> actions on that directory will fail anyway.
>
> Found with Coverity. Fixes: CID#1237538
> ---
> src/login/logind-user.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/login/logind-user.c b/src/login/logind-user.c
> index 7b40ef5..a329457 100644
> --- a/src/login/logind-user.c
> +++ b/src/login/logind-user.c
> @@ -322,7 +322,8 @@ static int user_mkdir_runtime_path(User *u) {
> if (path_is_mount_point(p, false) <= 0) {
> _cleanup_free_ char *t = NULL;
>
> - mkdir(p, 0700);
> + if(mkdir(p, 0700) < 0)
> + goto fail;
No, it's completely OK if this fails, and it is very likely that it
*will* fail, since the dir might already exist, and we thus get
EEXIST.
This is a candidate for prefixing with (void), to tell Coverity that
we knowingly ignore the return value.
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list