[systemd-devel] [PATCH 2/2] logind: do not continue when runtime creation path fails
Philippe De Swert
philippedeswert at gmail.com
Tue Feb 10 03:45:17 PST 2015
Hi,
On 10/02/15 13:30, Lennart Poettering wrote:
> 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.
True, I somehow always forget that is an error case too. However the
"problem" is still there if creation fails, filesystem full/ro, ...
Although I need to admit it is rather cosmetic as problems will be
caught later anyway.
Regards,
Philippe
More information about the systemd-devel
mailing list