useradd: fix write_full() return value
write_full() returns -1 on error and useradd was checking another value.
Closes: https://github.com/shadow-maint/shadow/issues/1072
Fixes: f45498a6c2 ("libmisc/write_full.c: Improve write_full()")
Reported-by: <https://github.com/brown-midas>
Suggested-by: <https://github.com/brown-midas>
Reviewed-by: Alejandro Colomar <alx@kernel.org>
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
This commit is contained in:
committed by
Iker Pedrosa
parent
b2b37863a6
commit
8903b94c86
+1
-1
@@ -2042,7 +2042,7 @@ static void lastlog_reset (uid_t uid)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ( (lseek (fd, offset_uid, SEEK_SET) != offset_uid)
|
if ( (lseek (fd, offset_uid, SEEK_SET) != offset_uid)
|
||||||
|| (write_full (fd, &ll, sizeof (ll)) != (ssize_t) sizeof (ll))
|
|| (write_full (fd, &ll, sizeof (ll)) != -1)
|
||||||
|| (fsync (fd) != 0)) {
|
|| (fsync (fd) != 0)) {
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: failed to reset the lastlog entry of UID %lu: %s\n"),
|
_("%s: failed to reset the lastlog entry of UID %lu: %s\n"),
|
||||||
|
|||||||
Reference in New Issue
Block a user