mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
malloc/tst-posix_memalign.c: Tidy up code.
Add some comments and call free on all potentially allocated pointers. ChangeLog: 2013-10-04 Will Newton <will.newton@linaro.org> * malloc/tst-posix_memalign.c: Add comments. (do_test): Add comments and call free on all potentially allocated pointers. Add space after cast.
This commit is contained in:
parent
215c7d4344
commit
27d0461b7b
@ -3,6 +3,10 @@
|
||||
* malloc/Makefile: Add tst-memalign.
|
||||
* malloc/tst-memalign.c: New file.
|
||||
|
||||
* malloc/tst-posix_memalign.c: Add comments.
|
||||
(do_test): Add comments and call free on all potentially
|
||||
allocated pointers. Add space after cast.
|
||||
|
||||
2013-10-04 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela):
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* Copyright (C) 2013 Free Software Foundation, Inc.
|
||||
/* Test for posix_memalign.
|
||||
Copyright (C) 2013 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -35,11 +36,13 @@ do_test (void)
|
||||
{
|
||||
void *p;
|
||||
int ret;
|
||||
unsigned long pagesize = getpagesize();
|
||||
unsigned long pagesize = getpagesize ();
|
||||
unsigned long ptrval;
|
||||
|
||||
p = NULL;
|
||||
|
||||
/* An attempt to allocate a huge value should return ENOMEM and
|
||||
p should remain NULL. */
|
||||
ret = posix_memalign (&p, sizeof (void *), -1);
|
||||
|
||||
if (ret != ENOMEM)
|
||||
@ -48,15 +51,22 @@ do_test (void)
|
||||
if (ret == ENOMEM && p != NULL)
|
||||
merror ("returned an error but pointer was modified");
|
||||
|
||||
free (p);
|
||||
|
||||
p = NULL;
|
||||
|
||||
/* Test to expose integer overflow in malloc internals from BZ #15857. */
|
||||
ret = posix_memalign (&p, pagesize, -pagesize);
|
||||
|
||||
if (ret != ENOMEM)
|
||||
merror ("posix_memalign (&p, pagesize, -pagesize) succeeded.");
|
||||
|
||||
free (p);
|
||||
|
||||
p = NULL;
|
||||
|
||||
/* A zero-sized allocation should succeed with glibc, returning zero
|
||||
and setting p to a non-NULL value. */
|
||||
ret = posix_memalign (&p, sizeof (void *), 0);
|
||||
|
||||
if (ret != 0 || p == NULL)
|
||||
@ -84,9 +94,9 @@ do_test (void)
|
||||
if (ret == 0 && p == NULL)
|
||||
merror ("returned success but pointer is NULL");
|
||||
|
||||
ptrval = (unsigned long)p;
|
||||
ptrval = (unsigned long) p;
|
||||
|
||||
if (ret == 0 && (ptrval & 0xff))
|
||||
if (ret == 0 && (ptrval & 0xff) != 0)
|
||||
merror ("pointer is not aligned to 0x100");
|
||||
|
||||
free (p);
|
||||
|
Loading…
Reference in New Issue
Block a user