From: Tobias Stoeckmann Date: Mon, 15 Dec 2025 16:06:00 +0000 (+0100) Subject: passwd: Call fail_exit on pwd lock failure X-Git-Tag: 4.19.0~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=969698a55d17914df68ea9798c9895a4087aa20f;p=thirdparty%2Fshadow.git passwd: Call fail_exit on pwd lock failure At this point, shadow might be already locked if update_noshadow is called as fallback within update_shadow. Make sure that unlock is called before exit. Fixes: 45c6603cc86c (2007-10-07; "[svn-upgrade] Integrating new upstream version, shadow (19990709)") Reviewed-by: Alejandro Colomar Signed-off-by: Tobias Stoeckmann --- diff --git a/src/passwd.c b/src/passwd.c index 918f8e5d1..3f4d9c3c0 100644 --- a/src/passwd.c +++ b/src/passwd.c @@ -564,7 +564,7 @@ static void update_noshadow(bool process_selinux) (void) fprintf (stderr, _("%s: cannot lock %s; try again later.\n"), Prog, pw_dbname ()); - exit (E_PWDBUSY); + fail_exit (E_PWDBUSY, process_selinux); } pw_locked = true; if (pw_open (O_CREAT | O_RDWR) == 0) {