[Bug 269688] memalign() produces division by zero if size is 0
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 269688] memalign() produces division by zero if size is 0"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 269688] memalign() produces division by zero if size is 0"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 269688] memalign() produces division by zero if size is 0"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 269688] memalign() produces division by zero if size is 0"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 269688] memalign() produces division by zero if alignment is 0"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 269688] memalign() produces division by zero if alignment is 0"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 269688] memalign() produces division by zero if alignment is 0"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 269688] memalign() produces division by zero if alignment is 0"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 269688] memalign() produces division by zero if alignment is 0"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 19 Feb 2023 16:31:14 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269688 Bug ID: 269688 Summary: memalign() produces division by zero if size is 0 Product: Base System Version: 13.1-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: bin Assignee: bugs@FreeBSD.org Reporter: pjfloyd@wanadoo.fr The implementation is to just call aligned_alloc(): return (aligned_alloc(align, roundup(size, align))); where roundup is this macro :#define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) /* to any y */ If size is 0 that will be (0 + align - 1) / 0 * 0 That gives me (gdb) r Starting program: /usr/home/paulf/scratch/valgrind/memcheck/tests/memalign2 Program received signal SIGFPE, Arithmetic exception. Integer divide by zero. 0x00000008002f3415 in memalign (align=0, size=<optimized out>) at /usr/src/lib/libc/gen/memalign.c:39 39 return (aligned_alloc(align, roundup(size, align))); My source code is 91 p = memalign(0, 100); assert(NULL == p); -- You are receiving this mail because: You are the assignee for the bug.