diff --git a/ChangeLog b/ChangeLog index 57536784..4648a19e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,12 @@ * man/po/fr.po: French manpages translation +2011-06-05 Nicolas François + + * src/su.c: Updating pwent after expire() is not useful. Only the + password information may have changed and they are not used + anymore afterwards. + 2011-06-05 Nicolas François * NEWS, src/su.c: Do not forward the controlling terminal to diff --git a/src/su.c b/src/su.c index f93db7dc..cdc26f9d 100644 --- a/src/su.c +++ b/src/su.c @@ -2,7 +2,7 @@ * Copyright (c) 1989 - 1994, Julianne Frances Haugh * Copyright (c) 1996 - 2000, Marek Michałkiewicz * Copyright (c) 2000 - 2006, Tomasz Kłoczko - * Copyright (c) 2007 - 2010, Nicolas François + * Copyright (c) 2007 - 2011, Nicolas François * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -868,16 +868,7 @@ int main (int argc, char **argv) spwd = pwd_to_spwd (&pwent); } - if (expire (&pwent, spwd) != 0) { - /* !USE_PAM, no need for xgetpwnam */ - struct passwd *pwd = getpwnam (name); - - /* !USE_PAM, no need for xgetspnam */ - spwd = getspnam (name); - if (NULL != pwd) { - pwent = *pwd; - } - } + (void) expire (&pwent, spwd); } /*