|
|
8729726 |
diff -up sudo-1.8.8/plugins/sudoers/auth/pam.c.clangbugs sudo-1.8.8/plugins/sudoers/auth/pam.c
|
|
|
8729726 |
--- sudo-1.8.8/plugins/sudoers/auth/pam.c.clangbugs 2013-09-30 23:41:07.899529555 +0200
|
|
|
8729726 |
+++ sudo-1.8.8/plugins/sudoers/auth/pam.c 2013-09-30 23:41:58.988707761 +0200
|
|
|
8729726 |
@@ -246,6 +246,7 @@ sudo_pam_begin_session(struct passwd *pw
|
|
|
8729726 |
(void) pam_end(pamh, *pam_status | PAM_DATA_SILENT);
|
|
|
8729726 |
pamh = NULL;
|
|
|
8729726 |
status = AUTH_FAILURE;
|
|
|
8729726 |
+ goto done;
|
|
|
8729726 |
}
|
|
|
8729726 |
}
|
|
|
8729726 |
|
|
|
8729726 |
diff -up sudo-1.8.8/plugins/sudoers/sssd.c.clangbugs sudo-1.8.8/plugins/sudoers/sssd.c
|
|
|
8729726 |
--- sudo-1.8.8/plugins/sudoers/sssd.c.clangbugs 2013-09-30 23:44:20.404200629 +0200
|
|
|
8729726 |
+++ sudo-1.8.8/plugins/sudoers/sssd.c 2013-09-30 23:49:05.998194738 +0200
|
|
|
8729726 |
@@ -310,11 +310,10 @@ static int sudo_sss_close(struct sudo_ns
|
|
|
8729726 |
debug_decl(sudo_sss_close, SUDO_DEBUG_SSSD);
|
|
|
8729726 |
|
|
|
8729726 |
if (nss && nss->handle) {
|
|
|
8729726 |
- handle = nss->handle;
|
|
|
8729726 |
- dlclose(handle->ssslib);
|
|
|
8729726 |
+ handle = nss->handle;
|
|
|
8729726 |
+ dlclose(handle->ssslib);
|
|
|
8729726 |
+ efree(nss->handle);
|
|
|
8729726 |
}
|
|
|
8729726 |
-
|
|
|
8729726 |
- efree(nss->handle);
|
|
|
8729726 |
debug_return_int(0);
|
|
|
8729726 |
}
|
|
|
8729726 |
|
|
|
8729726 |
@@ -705,17 +704,21 @@ sudo_sss_result_get(struct sudo_nss *nss
|
|
|
8729726 |
sudo_sss_result_filterp, _SUDO_SSS_FILTER_INCLUDE, NULL);
|
|
|
8729726 |
|
|
|
8729726 |
if (f_sss_result != NULL) {
|
|
|
8729726 |
- if (f_sss_result->num_rules > 0) {
|
|
|
8729726 |
- if (state != NULL) {
|
|
|
8729726 |
- sudo_debug_printf(SUDO_DEBUG_DEBUG, "state |= HOSTMATCH");
|
|
|
8729726 |
- *state |= _SUDO_SSS_STATE_HOSTMATCH;
|
|
|
8729726 |
+ if (f_sss_result->num_rules > 0) {
|
|
|
8729726 |
+ if (state != NULL) {
|
|
|
8729726 |
+ sudo_debug_printf(SUDO_DEBUG_DEBUG, "state |= HOSTMATCH");
|
|
|
8729726 |
+ *state |= _SUDO_SSS_STATE_HOSTMATCH;
|
|
|
8729726 |
+ }
|
|
|
8729726 |
}
|
|
|
8729726 |
- }
|
|
|
8729726 |
- }
|
|
|
8729726 |
|
|
|
8729726 |
- sudo_debug_printf(SUDO_DEBUG_DEBUG,
|
|
|
8729726 |
- "u_sss_result=(%p, %u) => f_sss_result=(%p, %u)", u_sss_result,
|
|
|
8729726 |
- u_sss_result->num_rules, f_sss_result, f_sss_result->num_rules);
|
|
|
8729726 |
+ sudo_debug_printf(SUDO_DEBUG_DEBUG,
|
|
|
8729726 |
+ "u_sss_result=(%p, %u) => f_sss_result=(%p, %u)", u_sss_result,
|
|
|
8729726 |
+ u_sss_result->num_rules, f_sss_result, f_sss_result->num_rules);
|
|
|
8729726 |
+ } else {
|
|
|
8729726 |
+ sudo_debug_printf(SUDO_DEBUG_DEBUG,
|
|
|
8729726 |
+ "u_sss_result=(%p, %u) => f_sss_result=NULL",
|
|
|
8729726 |
+ u_sss_result, u_sss_result->num_rules);
|
|
|
8729726 |
+ }
|
|
|
8729726 |
|
|
|
8729726 |
handle->fn_free_result(u_sss_result);
|
|
|
8729726 |
|