diff options
author | Lukas Slebodnik <lslebodn@redhat.com> | 2013-06-25 09:44:17 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-08-08 23:18:36 +0200 |
commit | 176c5beb7b4f9601658f1cc0b1637137b3c7e304 (patch) | |
tree | 8f373f48b6d0bc19a9bf03878d5e6a649c0d759d /src/responder | |
parent | 177b18d1103fa1f3ec89dc029036c7a725214720 (diff) | |
download | sssd-176c5beb7b4f9601658f1cc0b1637137b3c7e304.tar.gz sssd-176c5beb7b4f9601658f1cc0b1637137b3c7e304.tar.xz sssd-176c5beb7b4f9601658f1cc0b1637137b3c7e304.zip |
Do not call sss_cmd_done in function check_cache.sssd-1.9.2-105.el6
Function sysdb_getpwnam return more results than 1 and therefore sss_cmd_done
was called. Inside of function sss_cmd_done memory was freed,
but this freed memory was used in caller functions, therefore sssd crashed.
https://fedorahosted.org/sssd/ticket/1980
Diffstat (limited to 'src/responder')
-rw-r--r-- | src/responder/nss/nsssrv_cmd.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/src/responder/nss/nsssrv_cmd.c b/src/responder/nss/nsssrv_cmd.c index 5ef791dc6..ccfda727b 100644 --- a/src/responder/nss/nsssrv_cmd.c +++ b/src/responder/nss/nsssrv_cmd.c @@ -490,7 +490,6 @@ static int nss_cmd_getpw_send_reply(struct nss_dom_ctx *dctx, bool filter) static void nsssrv_dp_send_acct_req_done(struct tevent_req *req); /* FIXME: do not check res->count, but get in a msgs and check in parent */ -/* FIXME: do not sss_cmd_done, but return error and let parent do it */ errno_t check_cache(struct nss_dom_ctx *dctx, struct nss_ctx *nctx, struct ldb_result *res, @@ -514,11 +513,6 @@ errno_t check_cache(struct nss_dom_ctx *dctx, (res->count > 1)) { DEBUG(1, ("getpwXXX call returned more than one result!" " DB Corrupted?\n")); - ret = nss_cmd_send_error(cmdctx, ENOENT); - if (ret != EOK) { - NSS_CMD_FATAL_ERROR_CODE(cctx, ENOENT); - } - sss_cmd_done(cctx, cmdctx); return ENOENT; } |