summaryrefslogtreecommitdiffstats
path: root/regress/sys/kern/kqueue/kqueue-signal.c
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2016-07-14 05:55:08 +0000
committerguenther <guenther@openbsd.org>2016-07-14 05:55:08 +0000
commitb261876b05beae09af1ac260b35bb38a79ca10da (patch)
tree89afa44d16b2b4aef3f285fc1d691373f4618c07 /regress/sys/kern/kqueue/kqueue-signal.c
parentufs_readdir() buffer was meant to be limited to 64kB; reversed test (diff)
downloadwireguard-openbsd-b261876b05beae09af1ac260b35bb38a79ca10da.tar.xz
wireguard-openbsd-b261876b05beae09af1ac260b35bb38a79ca10da.zip
Prevent silly states via knotes on pids > 2^32 and on nonexistent signals.
ok tedu@
Diffstat (limited to 'regress/sys/kern/kqueue/kqueue-signal.c')
-rw-r--r--regress/sys/kern/kqueue/kqueue-signal.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/regress/sys/kern/kqueue/kqueue-signal.c b/regress/sys/kern/kqueue/kqueue-signal.c
index 0ad7b701303..97980968373 100644
--- a/regress/sys/kern/kqueue/kqueue-signal.c
+++ b/regress/sys/kern/kqueue/kqueue-signal.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kqueue-signal.c,v 1.1 2011/07/07 02:00:51 guenther Exp $ */
+/* $OpenBSD: kqueue-signal.c,v 1.2 2016/07/14 05:55:08 guenther Exp $ */
/*
* Written by Philip Guenther <guenther@openbsd.org> 2011 Public Domain
*/
@@ -71,6 +71,12 @@ do_signal(void)
ASS(kevent(kq, &ke, 1, NULL, 0, NULL) == 0,
warn("can't register events on kqueue"));
+ EV_SET(&ke, 10000, EVFILT_SIGNAL, EV_ADD|EV_ENABLE, 0, 0, NULL);
+ ASS(kevent(kq, &ke, 1, NULL, 0, NULL) != 0,
+ warnx("registered bogus signal on kqueue"));
+ ASS(errno == EINVAL,
+ warn("registering bogus signal on kqueue returned wrong error"));
+
ASSX(saw_usr1 == 0);
kill(pid, SIGUSR1);
ASSX(saw_usr1 == 1);