diff options
author | Jacek Masiulaniec <jacekm@cvs.openbsd.org> | 2009-05-09 20:04:37 +0000 |
---|---|---|
committer | Jacek Masiulaniec <jacekm@cvs.openbsd.org> | 2009-05-09 20:04:37 +0000 |
commit | a2237f975c394f28ea5d82a829257ec5bcc87c96 (patch) | |
tree | e761b9cd3daacb62ccd71d9b2f945d1266d1face /usr.sbin | |
parent | adf9dc2a3e9eabd4e4432cfe63e59b9cb02704b4 (diff) |
fix rare memleak; ok gilles@
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/smtpd/control.c | 7 |
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; } |