summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2011-02-13 19:12:36 +0000
committerGreg Hudson <ghudson@mit.edu>2011-02-13 19:12:36 +0000
commit6726c9f5eca0e49cabfdf878c02e5966bdcccd93 (patch)
tree8a7ee901d8418ce885333ab34ca4e6b7b007c10b
parentd66abd299fcc4b288fdc6a904152fd96ba90e5d2 (diff)
downloadkrb5-6726c9f5eca0e49cabfdf878c02e5966bdcccd93.tar.gz
krb5-6726c9f5eca0e49cabfdf878c02e5966bdcccd93.tar.xz
krb5-6726c9f5eca0e49cabfdf878c02e5966bdcccd93.zip
Trace logging file descriptor leak
File descriptors created for trace logging were never being closed. With short-lived contexts this leak would eventually overflow the process's file table. Correct this oversight by closing the file descriptor in file_trace_cb before freeing its container. ticket: 6867 target_version: 1.9.1 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24634 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/lib/krb5/os/trace.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/krb5/os/trace.c b/src/lib/krb5/os/trace.c
index 30942cd975..3138aaf0f9 100644
--- a/src/lib/krb5/os/trace.c
+++ b/src/lib/krb5/os/trace.c
@@ -321,6 +321,7 @@ file_trace_cb(krb5_context context, const struct krb5_trace_info *info, void *da
if (info == NULL) {
/* Null info means destroy the callback data. */
+ close(*fd);
free(fd);
return;
}