diff options
author | 2004-08-13 02:51:48 +0000 | |
---|---|---|
committer | 2004-08-13 02:51:48 +0000 | |
commit | ee42e03c4b8d4d9dbe0879553fb74884f19c4894 (patch) | |
tree | ea1640b125386be7d6aeb883479b6388ccf4bc6f | |
parent | Add cvs_datesec() to calculate the time_t value corresponding to a (diff) | |
download | wireguard-openbsd-ee42e03c4b8d4d9dbe0879553fb74884f19c4894.tar.xz wireguard-openbsd-ee42e03c4b8d4d9dbe0879553fb74884f19c4894.zip |
extra check for no message case; ok markus, deraadt, hshoexer, henning
-rw-r--r-- | sbin/isakmpd/monitor_fdpass.c | 4 | ||||
-rw-r--r-- | sbin/pflogd/privsep_fdpass.c | 6 | ||||
-rw-r--r-- | usr.bin/ssh/monitor_fdpass.c | 4 | ||||
-rw-r--r-- | usr.sbin/bind/lib/isc/unix/privsep_fdpass.c | 6 | ||||
-rw-r--r-- | usr.sbin/syslogd/privsep_fdpass.c | 6 | ||||
-rw-r--r-- | usr.sbin/tcpdump/privsep_fdpass.c | 6 |
6 files changed, 27 insertions, 5 deletions
diff --git a/sbin/isakmpd/monitor_fdpass.c b/sbin/isakmpd/monitor_fdpass.c index 8031416e7e4..8f3d1a44320 100644 --- a/sbin/isakmpd/monitor_fdpass.c +++ b/sbin/isakmpd/monitor_fdpass.c @@ -94,6 +94,10 @@ mm_receive_fd(int socket) return -1; } cmsg = CMSG_FIRSTHDR(&msg); + if (cmsg == NULL) { + log_error("%s: no message header", __func__); + return -1; + } if (cmsg->cmsg_type != SCM_RIGHTS) { log_error("%s: expected type %d got %d", __func__, SCM_RIGHTS, cmsg->cmsg_type); diff --git a/sbin/pflogd/privsep_fdpass.c b/sbin/pflogd/privsep_fdpass.c index 166b6930b3b..50afdfc2859 100644 --- a/sbin/pflogd/privsep_fdpass.c +++ b/sbin/pflogd/privsep_fdpass.c @@ -1,4 +1,4 @@ -/* $OpenBSD: privsep_fdpass.c,v 1.1 2003/10/22 18:51:55 canacar Exp $ */ +/* $OpenBSD: privsep_fdpass.c,v 1.2 2004/08/13 02:51:48 djm Exp $ */ /* * Copyright 2001 Niels Provos <provos@citi.umich.edu> @@ -108,6 +108,10 @@ receive_fd(int sock) __func__, (long)n); if (result == 0) { cmsg = CMSG_FIRSTHDR(&msg); + if (cmsg == NULL) { + warnx("%s: no message header", __func__); + return -1; + } if (cmsg->cmsg_type != SCM_RIGHTS) warnx("%s: expected type %d got %d", __func__, SCM_RIGHTS, cmsg->cmsg_type); diff --git a/usr.bin/ssh/monitor_fdpass.c b/usr.bin/ssh/monitor_fdpass.c index 540ff793de9..609b6253b45 100644 --- a/usr.bin/ssh/monitor_fdpass.c +++ b/usr.bin/ssh/monitor_fdpass.c @@ -24,7 +24,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: monitor_fdpass.c,v 1.5 2004/06/21 17:36:31 avsm Exp $"); +RCSID("$OpenBSD: monitor_fdpass.c,v 1.6 2004/08/13 02:51:48 djm Exp $"); #include <sys/uio.h> @@ -89,6 +89,8 @@ mm_receive_fd(int sock) __func__, (long)n); cmsg = CMSG_FIRSTHDR(&msg); + if (cmsg == NULL) + fatal("%s: no message header", __func__); if (cmsg->cmsg_type != SCM_RIGHTS) fatal("%s: expected type %d got %d", __func__, SCM_RIGHTS, cmsg->cmsg_type); diff --git a/usr.sbin/bind/lib/isc/unix/privsep_fdpass.c b/usr.sbin/bind/lib/isc/unix/privsep_fdpass.c index d0d91011268..f52bee57179 100644 --- a/usr.sbin/bind/lib/isc/unix/privsep_fdpass.c +++ b/usr.sbin/bind/lib/isc/unix/privsep_fdpass.c @@ -1,4 +1,4 @@ -/* $OpenBSD: privsep_fdpass.c,v 1.2 2004/04/19 23:33:46 avsm Exp $ */ +/* $OpenBSD: privsep_fdpass.c,v 1.3 2004/08/13 02:51:48 djm Exp $ */ /* * Copyright 2001 Niels Provos <provos@citi.umich.edu> @@ -105,6 +105,10 @@ receive_fd(int sock) __func__, (long)n); if (result == 0) { cmsg = CMSG_FIRSTHDR(&msg); + if (cmsg == NULL) { + warnx("%s: no message header", __func__); + return (-1); + } if (cmsg->cmsg_type != SCM_RIGHTS) warnx("%s: expected type %d got %d", __func__, SCM_RIGHTS, cmsg->cmsg_type); diff --git a/usr.sbin/syslogd/privsep_fdpass.c b/usr.sbin/syslogd/privsep_fdpass.c index 6638055c37c..630cc4ce268 100644 --- a/usr.sbin/syslogd/privsep_fdpass.c +++ b/usr.sbin/syslogd/privsep_fdpass.c @@ -1,4 +1,4 @@ -/* $OpenBSD: privsep_fdpass.c,v 1.2 2004/07/03 23:40:44 djm Exp $ */ +/* $OpenBSD: privsep_fdpass.c,v 1.3 2004/08/13 02:51:48 djm Exp $ */ /* * Copyright 2001 Niels Provos <provos@citi.umich.edu> @@ -108,6 +108,10 @@ receive_fd(int sock) __func__, (long)n); if (result == 0) { cmsg = CMSG_FIRSTHDR(&msg); + if (cmsg == NULL) { + warnx("%s: no message header", __func__); + return (-1); + } if (cmsg->cmsg_type != SCM_RIGHTS) warnx("%s: expected type %d got %d", __func__, SCM_RIGHTS, cmsg->cmsg_type); diff --git a/usr.sbin/tcpdump/privsep_fdpass.c b/usr.sbin/tcpdump/privsep_fdpass.c index 22323275abb..bfb3d46e671 100644 --- a/usr.sbin/tcpdump/privsep_fdpass.c +++ b/usr.sbin/tcpdump/privsep_fdpass.c @@ -1,4 +1,4 @@ -/* $OpenBSD: privsep_fdpass.c,v 1.3 2004/06/18 19:34:58 henning Exp $ */ +/* $OpenBSD: privsep_fdpass.c,v 1.4 2004/08/13 02:51:48 djm Exp $ */ /* * Copyright (c) 2002 Matthieu Herrb @@ -90,6 +90,10 @@ receive_fd(int sock) __func__, (long)n); if (result == 0) { cmsg = CMSG_FIRSTHDR(&msg); + if (cmsg == NULL) { + warnx("%s: no message header", __func__); + return (-1); + } if (cmsg->cmsg_type != SCM_RIGHTS) warnx("%s: expected type %d got %d", __func__, SCM_RIGHTS, cmsg->cmsg_type); |