summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2012-02-11 08:16:06 +1100
committerDamien Miller <djm@mindrot.org>2012-02-11 08:16:06 +1100
commita2876db5e6a26c48bd2a20a9f347a1e668730845 (patch)
treec1cb47f55ba950bd95abac8fb9d6dcef9be93749
parentb56e4930aeada1b73d3457b452bf241236fdb1ed (diff)
- djm@cvs.openbsd.org 2012/01/05 00:16:56
[monitor.c] memleak on error path
-rw-r--r--ChangeLog6
-rw-r--r--monitor.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 3a9c052a..722be1b3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+20120211
+ - (djm) OpenBSD CVS Sync
+ - djm@cvs.openbsd.org 2012/01/05 00:16:56
+ [monitor.c]
+ memleak on error path
+
20120206
- (djm) [ssh-keygen.c] Don't fail in do_gen_all_hostkeys on platforms
that don't support ECC. Patch from Phil Oleson
diff --git a/monitor.c b/monitor.c
index a166fed2..e7abf249 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: monitor.c,v 1.115 2011/06/23 23:35:42 djm Exp $ */
+/* $OpenBSD: monitor.c,v 1.116 2012/01/05 00:16:56 djm Exp $ */
/*
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
* Copyright 2002 Markus Friedl <markus@openbsd.org>
@@ -507,6 +507,7 @@ monitor_read_log(struct monitor *pmonitor)
if (atomicio(read, pmonitor->m_log_recvfd,
buffer_ptr(&logmsg), buffer_len(&logmsg)) != buffer_len(&logmsg)) {
if (errno == EPIPE) {
+ buffer_free(&logmsg);
debug("%s: child log fd closed", __func__);
close(pmonitor->m_log_recvfd);
pmonitor->m_log_recvfd = -1;