diff options
author | 2016-07-14 05:55:08 +0000 | |
---|---|---|
committer | 2016-07-14 05:55:08 +0000 | |
commit | b261876b05beae09af1ac260b35bb38a79ca10da (patch) | |
tree | 89afa44d16b2b4aef3f285fc1d691373f4618c07 /regress/sys/kern/kqueue/kqueue-signal.c | |
parent | ufs_readdir() buffer was meant to be limited to 64kB; reversed test (diff) | |
download | wireguard-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.c | 8 |
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); |