svn commit: r334348 - in head/sys: amd64/linux amd64/linux32 i386/linux
Brooks Davis
brooks at FreeBSD.org
Tue May 29 20:03:25 UTC 2018
Author: brooks
Date: Tue May 29 20:03:24 2018
New Revision: 334348
URL: https://svnweb.freebsd.org/changeset/base/334348
Log:
Correct pointer subtraction in KASSERT().
The assertion would never fire without truly spectacular future
programming errors.
Reported by: Coverity
CID: 1391370
Sponsored by: DARPA, AFRL
Modified:
head/sys/amd64/linux/linux_sysvec.c
head/sys/amd64/linux32/linux32_sysvec.c
head/sys/i386/linux/linux_sysvec.c
Modified: head/sys/amd64/linux/linux_sysvec.c
==============================================================================
--- head/sys/amd64/linux/linux_sysvec.c Tue May 29 19:07:00 2018 (r334347)
+++ head/sys/amd64/linux/linux_sysvec.c Tue May 29 20:03:24 2018 (r334348)
@@ -283,8 +283,7 @@ linux_fixup_elf(register_t **stack_base, struct image_
AUXARGS_ENTRY(pos, AT_NULL, 0);
free(imgp->auxargs, M_TEMP);
imgp->auxargs = NULL;
- KASSERT((pos - argarray) / sizeof(*pos) <= LINUX_AT_COUNT,
- ("Too many auxargs"));
+ KASSERT(pos - argarray <= LINUX_AT_COUNT, ("Too many auxargs"));
error = copyout(argarray, auxbase, sizeof(*argarray) * LINUX_AT_COUNT);
free(argarray, M_TEMP);
Modified: head/sys/amd64/linux32/linux32_sysvec.c
==============================================================================
--- head/sys/amd64/linux32/linux32_sysvec.c Tue May 29 19:07:00 2018 (r334347)
+++ head/sys/amd64/linux32/linux32_sysvec.c Tue May 29 20:03:24 2018 (r334348)
@@ -249,8 +249,7 @@ linux_fixup_elf(register_t **stack_base, struct image_
free(imgp->auxargs, M_TEMP);
imgp->auxargs = NULL;
- KASSERT((pos - argarray) / sizeof(*pos) <= AT_COUNT,
- ("Too many auxargs"));
+ KASSERT(pos - argarray <= AT_COUNT, ("Too many auxargs"));
error = copyout(&argarray[0], auxbase, sizeof(*argarray) * AT_COUNT);
free(argarray, M_TEMP);
Modified: head/sys/i386/linux/linux_sysvec.c
==============================================================================
--- head/sys/i386/linux/linux_sysvec.c Tue May 29 19:07:00 2018 (r334347)
+++ head/sys/i386/linux/linux_sysvec.c Tue May 29 20:03:24 2018 (r334348)
@@ -261,8 +261,7 @@ linux_fixup_elf(register_t **stack_base, struct image_
free(imgp->auxargs, M_TEMP);
imgp->auxargs = NULL;
- KASSERT((pos - argarray) / sizeof(*pos) <= LINUX_AT_COUNT,
- ("Too many auxargs"));
+ KASSERT(pos - argarray <= LINUX_AT_COUNT, ("Too many auxargs"));
error = copyout(argarray, auxbase, sizeof(*argarray) * LINUX_AT_COUNT);
free(argarray, M_TEMP);
More information about the svn-src-head
mailing list