On Sun, 08.02.15 22:21, Philippe De Swert ([email protected]) 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
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to