aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2004-09-24 02:21:47 +0000
committerKen Raeburn <raeburn@mit.edu>2004-09-24 02:21:47 +0000
commit429c571fa4fe828192cc5f5349218616a50efa70 (patch)
tree29acf03233104af2f41a5626a4a0f0689e9d7175
parent45fa2bde5a863d57af907718f6effb756d4caf45 (diff)
downloadkrb5-429c571fa4fe828192cc5f5349218616a50efa70.zip
krb5-429c571fa4fe828192cc5f5349218616a50efa70.tar.gz
krb5-429c571fa4fe828192cc5f5349218616a50efa70.tar.bz2
* network.c (closedown_network): Free each connection data structure while
closing file descriptors. ticket: 1210 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16789 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/kdc/ChangeLog3
-rw-r--r--src/kdc/network.c5
2 files changed, 8 insertions, 0 deletions
diff --git a/src/kdc/ChangeLog b/src/kdc/ChangeLog
index 64cb0ab..69f392c 100644
--- a/src/kdc/ChangeLog
+++ b/src/kdc/ChangeLog
@@ -1,5 +1,8 @@
2004-09-23 Ken Raeburn <raeburn@mit.edu>
+ * network.c (closedown_network): Free each connection data
+ structure while closing file descriptors.
+
* kdc_util.h (sockaddr2p): Don't declare.
2004-07-23 Tom Yu <tlyu@mit.edu>
diff --git a/src/kdc/network.c b/src/kdc/network.c
index a7bfbc8..d05057a 100644
--- a/src/kdc/network.c
+++ b/src/kdc/network.c
@@ -1069,6 +1069,11 @@ closedown_network(const char *prog)
if (conn->fd >= 0)
(void) close(conn->fd);
DEL (connections, i);
+ /* There may also be per-connection data in the tcp structure
+ (tcp.buffer, tcp.response) that we're not freeing here.
+ That should only happen if we quit with a connection in
+ progress. */
+ free(conn);
}
FREE_SET_DATA(connections);
FREE_SET_DATA(udp_port_data);