update_utmp() should also return 0 when success.
Fixes: 1f368e1c1838de9d476a36897d7c53394569de08 ("utmp: update
`update_utmp()")
Resolves: https://github.com/shadow-maint/shadow/issues/805
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
Cherry-picked-from:
5178f8c5afb612f6ddf5363823547e080e7f546b
Link: <https://github.com/shadow-maint/shadow/issues/805>
Link: <https://github.com/shadow-maint/shadow/pull/808>
Reviewed-by: Michael Vetter <jubalh@iodoru.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
struct utmp *utent, *ut;
utent = get_current_utmp ();
- if (utent == NULL) {
- return -1;
- }
-
ut = prepare_utmp (user, tty, host, utent);
(void) setutmp (ut); /* make entry in the utmp & wtmp files */
- free (utent);
+
+ if (utent != NULL) {
+ free (utent);
+ }
free (ut);
- return 1;
+ return 0;
}
void record_failure(const char *failent_user,