[Pkg-shadow-devel] [PATCH] Suppress pwconv passwd- chmod failure message
Duncan Eastoe
deastoe at brocade.com
Thu Feb 12 16:42:20 UTC 2015
Hi Serge,
On 02/12/2015 03:15 PM, Serge Hallyn wrote:
> Since you only check errno if the chmod fails, I suspect the errno = 0
> isn't needed, but it doesn't hurt either.
Sure, I believe this could be removed if desired.
> I'm having trouble picturing the exact way to reproduce this (tip would
> be appreciated), but it looks ok to me.
If you were to run pwconv when /etc/passwd- does not exist and when
there is no action required by pwconv in /etc/passwd this error will
appear. This is because the /etc/passwd- backup file will not be created
when no action is taken on /etc/passwd and then it tries to chmod the
non-existent file.
Thanks,
Duncan
> Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>
>
>> Prevent chmod failure message from displaying if the failure
>> was due to the backup file not existing.
>>
>> If there is no backup file present and if no changes have been
>> made, then this error would always appear since the backup
>> file isn't created in this situation.
>>
>> Signed-off-by: Duncan Eastoe <deastoe at Brocade.com>
>> ---
>> src/pwconv.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/pwconv.c b/src/pwconv.c
>> index 515eba1..d41d5dd 100644
>> --- a/src/pwconv.c
>> +++ b/src/pwconv.c
>> @@ -305,7 +305,8 @@ int main (int argc, char **argv)
>> }
>>
>> /* /etc/passwd- (backup file) */
>> - if (chmod (PASSWD_FILE "-", 0600) != 0) {
>> + errno = 0;
>> + if ((chmod (PASSWD_FILE "-", 0600) != 0) && (errno != ENOENT)) {
>> fprintf (stderr,
>> _("%s: failed to change the mode of %s to 0600\n"),
>> Prog, PASSWD_FILE "-");
>> --
>> 1.7.10.4
>>
>>
>> _______________________________________________
>> Pkg-shadow-devel mailing list
>> Pkg-shadow-devel at lists.alioth.debian.org
>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-shadow-devel
More information about the Pkg-shadow-devel
mailing list