From: Todd C. Miller Date: Thu, 5 Feb 2015 18:17:24 +0000 (-0700) Subject: Handle sudo_get_grlist() returning NULL which can happen if X-Git-Tag: SUDO_1_8_12^2~12 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b727d4309c2932fca130c9a44c858cdaaa96dabd;p=sudo Handle sudo_get_grlist() returning NULL which can happen if getgrouplist() fails even after allocating the appropriate amount of memory. From Stephane Chazelas --- diff --git a/plugins/sudoers/set_perms.c b/plugins/sudoers/set_perms.c index 76234af35..6b073c7e6 100644 --- a/plugins/sudoers/set_perms.c +++ b/plugins/sudoers/set_perms.c @@ -1589,9 +1589,11 @@ runas_setgroups(void) #ifdef HAVE_SETAUTHDB aix_restoreauthdb(); #endif - if (sudo_setgroups(grlist->ngids, grlist->gids) < 0) { - sudo_grlist_delref(grlist); - grlist = NULL; + if (grlist != NULL) { + if (sudo_setgroups(grlist->ngids, grlist->gids) < 0) { + sudo_grlist_delref(grlist); + grlist = NULL; + } } debug_return_ptr(grlist); }