Fix memory leak of gid_list in sudoers_policy_exec_setup() in the

error path.  Coverity CID 104111.
This commit is contained in:
Todd C. Miller
2016-05-06 09:17:14 -06:00
parent 0690793c25
commit 61c53c8e66

View File

@@ -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;