Module Name: src Committed By: kamil Date: Wed Jul 25 21:51:32 UTC 2018
Modified Files: src/tests/include/sys: t_types.c Log Message: Avoid undefined behavior in an ATF test: t_types Replace UB with implementation defined logic to check whether ssize_t can wrap to a negative number. t_types.c:63:7, signed integer overflow: 9223372036854775807 + 1 cannot be represented in type 'long int' Detected with micro-UBSan in the user mode. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/tests/include/sys/t_types.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/include/sys/t_types.c diff -u src/tests/include/sys/t_types.c:1.4 src/tests/include/sys/t_types.c:1.5 --- src/tests/include/sys/t_types.c:1.4 Sun Mar 18 07:14:08 2012 +++ src/tests/include/sys/t_types.c Wed Jul 25 21:51:32 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: t_types.c,v 1.4 2012/03/18 07:14:08 jruoho Exp $ */ +/* $NetBSD: t_types.c,v 1.5 2018/07/25 21:51:32 kamil Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include <sys/cdefs.h> -__RCSID("$NetBSD: t_types.c,v 1.4 2012/03/18 07:14:08 jruoho Exp $"); +__RCSID("$NetBSD: t_types.c,v 1.5 2018/07/25 21:51:32 kamil Exp $"); #include <sys/types.h> @@ -60,7 +60,7 @@ ATF_TC_BODY(types_limits, tc) size = SSIZE_MAX; ATF_REQUIRE(size > 0); - size = size + 1; + size = (ssize_t)((size_t)size + 1); ATF_REQUIRE(size < 0); /*