summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorJacek Masiulaniec <jacekm@cvs.openbsd.org>2009-05-09 20:04:37 +0000
committerJacek Masiulaniec <jacekm@cvs.openbsd.org>2009-05-09 20:04:37 +0000
commita2237f975c394f28ea5d82a829257ec5bcc87c96 (patch)
treee761b9cd3daacb62ccd71d9b2f945d1266d1face /usr.sbin
parentadf9dc2a3e9eabd4e4432cfe63e59b9cb02704b4 (diff)
fix rare memleak; ok gilles@
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/smtpd/control.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/usr.sbin/smtpd/control.c b/usr.sbin/smtpd/control.c
index 803150462cc..b12c2e1ee92 100644
--- a/usr.sbin/smtpd/control.c
+++ b/usr.sbin/smtpd/control.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: control.c,v 1.23 2009/04/21 14:37:32 eric Exp $ */
+/* $OpenBSD: control.c,v 1.24 2009/05/09 20:04:36 jacekm Exp $ */
/*
* Copyright (c) 2008 Pierre-Yves Ritschard <pyr@openbsd.org>
@@ -661,6 +661,7 @@ control_dispatch_queue(int sig, short event, void *p)
s = imsg.data;
if ((c = control_connbyfd(s->fd)) == NULL) {
log_warn("control_dispatch_queue: fd %d not found", s->fd);
+ imsg_free(&imsg);
return;
}
@@ -722,6 +723,7 @@ control_dispatch_runner(int sig, short event, void *p)
s = imsg.data;
if ((c = control_connbyfd(s->fd)) == NULL) {
log_warn("control_dispatch_runner: fd %d not found", s->fd);
+ imsg_free(&imsg);
return;
}
@@ -737,6 +739,7 @@ control_dispatch_runner(int sig, short event, void *p)
s = imsg.data;
if ((c = control_connbyfd(s->fd)) == NULL) {
log_warn("control_dispatch_runner: fd %d not found", s->fd);
+ imsg_free(&imsg);
return;
}
@@ -799,6 +802,7 @@ control_dispatch_smtp(int sig, short event, void *p)
s = imsg.data;
if ((c = control_connbyfd(s->fd)) == NULL) {
log_warn("control_dispatch_queue: fd %d not found", s->fd);
+ imsg_free(&imsg);
return;
}
@@ -815,6 +819,7 @@ control_dispatch_smtp(int sig, short event, void *p)
if ((c = control_connbyfd(client_fd)) == NULL) {
log_warn("control_dispatch_smtp: fd %d not found", client_fd);
+ imsg_free(&imsg);
return;
}