From 61c53c8e668f48e6841e70b14a20aea6747a263d Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Fri, 6 May 2016 09:17:14 -0600 Subject: [PATCH] Fix memory leak of gid_list in sudoers_policy_exec_setup() in the error path. Coverity CID 104111. --- plugins/sudoers/policy.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/sudoers/policy.c b/plugins/sudoers/policy.c index a28a57486..69b04c5ec 100644 --- a/plugins/sudoers/policy.c +++ b/plugins/sudoers/policy.c @@ -509,6 +509,7 @@ sudoers_policy_exec_setup(char *argv[], char *envp[], mode_t cmnd_umask, len = snprintf(cp, glsize - (cp - gid_list), "%u", egid); if (len < 0 || (size_t)len >= glsize - (cp - gid_list)) { sudo_warnx(U_("internal error, %s overflow"), __func__); + free(gid_list); goto bad; } cp += len; @@ -518,6 +519,7 @@ sudoers_policy_exec_setup(char *argv[], char *envp[], mode_t cmnd_umask, (unsigned int) grlist->gids[i]); if (len < 0 || (size_t)len >= glsize - (cp - gid_list)) { sudo_warnx(U_("internal error, %s overflow"), __func__); + free(gid_list); goto bad; } cp += len; -- 2.50.1