summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2011-04-19 16:37:19 +0000
committerGreg Hudson <ghudson@mit.edu>2011-04-19 16:37:19 +0000
commit4ffd70b133afea3d19fccbac269798c1d210c0fd (patch)
tree5a4733048186eb3a99a9216ac4ac271afbf076b9 /src
parentc532a052aa946d3349fac8b7998fea2d1ea91f98 (diff)
downloadkrb5-4ffd70b133afea3d19fccbac269798c1d210c0fd.tar.gz
krb5-4ffd70b133afea3d19fccbac269798c1d210c0fd.tar.xz
krb5-4ffd70b133afea3d19fccbac269798c1d210c0fd.zip
Fix memory leak in kpasswd server UDP error path
The dispatch() in kadmind's schpw.c could return a failure code with an allocated response container. net-server.c does not expect this and leaks the container in the UDP case. Free the container in dispatch() if we are returning an error. ticket: 6903 target_version: 1.9.1 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24886 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/kadmin/server/schpw.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/kadmin/server/schpw.c b/src/kadmin/server/schpw.c
index ca07107544..f8c235c450 100644
--- a/src/kadmin/server/schpw.c
+++ b/src/kadmin/server/schpw.c
@@ -535,6 +535,10 @@ dispatch(void *handle,
remote_faddr,
request,
*response);
+ if (ret) {
+ krb5_free_data(server_handle->context, *response);
+ *response = NULL;
+ }
cleanup:
if (local_kaddrs != NULL)