Module Name: src Committed By: kamil Date: Fri Oct 4 23:20:22 UTC 2019
Modified Files: src/sys/kern: sysv_msg.c Log Message: Avoid -LONG_MIN msgtyp in msgrcv(2) and treat it as LONG_MAX This logic (found in Linux) avoids undefined behavior. Reported-by: syzbot+8af00519a8688d990...@syzkaller.appspotmail.com To generate a diff of this commit: cvs rdiff -u -r1.75 -r1.76 src/sys/kern/sysv_msg.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/sysv_msg.c diff -u src/sys/kern/sysv_msg.c:1.75 src/sys/kern/sysv_msg.c:1.76 --- src/sys/kern/sysv_msg.c:1.75 Wed Aug 7 00:38:02 2019 +++ src/sys/kern/sysv_msg.c Fri Oct 4 23:20:22 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: sysv_msg.c,v 1.75 2019/08/07 00:38:02 pgoyette Exp $ */ +/* $NetBSD: sysv_msg.c,v 1.76 2019/10/04 23:20:22 kamil Exp $ */ /*- * Copyright (c) 1999, 2006, 2007 The NetBSD Foundation, Inc. @@ -50,7 +50,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sysv_msg.c,v 1.75 2019/08/07 00:38:02 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sysv_msg.c,v 1.76 2019/10/04 23:20:22 kamil Exp $"); #ifdef _KERNEL_OPT #include "opt_sysv.h" @@ -1100,6 +1100,7 @@ restart: */ if (msgtyp != msghdr->msg_type && + msgtyp != LONG_MIN && msghdr->msg_type > -msgtyp) continue;