diff --git a/ChangeLog b/ChangeLog index 0e5d5e19..a9261198 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-03-08 Nicolas François + + * src/groupdel.c: Do not raise an error if the group does not + exist in the gshadow file. + 2008-03-08 Nicolas François * etc/login.defs: Document MAX_MEMBERS_PER_GROUP. diff --git a/NEWS b/NEWS index fe68b978..48e25cca 100644 --- a/NEWS +++ b/NEWS @@ -31,6 +31,8 @@ shadow-4.1.0 -> shadow-4.1.1 UNRELEASED - groupadd * New option -p/--password to specify an encrypted password. * New option -r, --system for system accounts. +- groupdel + * Do not fail if the group does not exist in the gshadow file. - groupmems * Fix buffer overflow when adding an user to a group. Thanks to Peter Vrabec. - groupmod diff --git a/src/groupdel.c b/src/groupdel.c index 4982f701..69e49c55 100644 --- a/src/groupdel.c +++ b/src/groupdel.c @@ -99,10 +99,13 @@ static void grp_update (void) /* * Delete the shadow group entries as well. */ - if (is_shadow_grp && !sgr_remove (group_name)) { - fprintf (stderr, - _("%s: error removing shadow group entry\n"), Prog); - errors++; + if (is_shadow_grp && (sgr_locate (group_name) != NULL)) { + if (!sgr_remove (group_name)) { + fprintf (stderr, + _("%s: error removing shadow group entry\n"), + Prog); + errors++; + } } #endif /* SHADOWGRP */ #ifdef WITH_AUDIT