2
0
mirror of https://github.com/sudo-project/sudo.git synced 2025-08-30 22:05:46 +00:00

Set handle->pw before sss_to_sudoers() since sss_check_user()

uses it.  Coverity CID 185651
This commit is contained in:
Todd C. Miller
2018-05-16 10:48:50 -06:00
parent 8ce49ecb2b
commit c30ad97107

View File

@@ -332,21 +332,24 @@ sudo_sss_query(struct sudo_nss *nss, struct passwd *pw)
if (sss_result == NULL)
goto done;
/* Stash a ref to the passwd struct in the handle. */
sudo_pw_addref(pw);
handle->pw = pw;
/* Convert to sudoers parse tree. */
if (!sss_to_sudoers(handle, sss_result, &nss->userspecs)) {
ret = -1;
goto done;
}
/* Stash a ref to the passwd struct in the handle. */
sudo_pw_addref(pw);
handle->pw = pw;
done:
/* Cleanup */
handle->fn_free_result(sss_result);
if (ret == -1)
if (ret == -1) {
free_userspecs(&nss->userspecs);
sudo_pw_delref(handle->pw);
handle->pw = NULL;
}
sudo_debug_printf(SUDO_DEBUG_DIAG, "Done with LDAP searches");