diff options
Diffstat (limited to 'malloc/tst-memalign.c')
-rw-r--r-- | malloc/tst-memalign.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/malloc/tst-memalign.c b/malloc/tst-memalign.c index 1c59752483..cf48e7ed1f 100644 --- a/malloc/tst-memalign.c +++ b/malloc/tst-memalign.c @@ -70,6 +70,21 @@ do_test (void) free (p); + errno = 0; + + /* Test to expose integer overflow in malloc internals from BZ #16038. */ + p = memalign (-1, pagesize); + + save = errno; + + if (p != NULL) + merror ("memalign (-1, pagesize) succeeded."); + + if (p == NULL && save != EINVAL) + merror ("memalign (-1, pagesize) errno is not set correctly"); + + free (p); + /* A zero-sized allocation should succeed with glibc, returning a non-NULL value. */ p = memalign (sizeof (void *), 0); |