]> git.ipfire.org Git - thirdparty/glibc.git/blob - malloc/tst-malloc-usable.c
882e4d3ea5d4889833852523a3b758e4b1334bcc
[thirdparty/glibc.git] / malloc / tst-malloc-usable.c
1 /* Ensure that malloc_usable_size returns the request size with
2 MALLOC_CHECK_ exported to a positive value.
3
4 Copyright (C) 2012-2019 Free Software Foundation, Inc.
5 This file is part of the GNU C Library.
6
7 The GNU C Library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or (at your option) any later version.
11
12 The GNU C Library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with the GNU C Library; if not, see
19 <http://www.gnu.org/licenses/>. */
20
21 #include <malloc.h>
22 #include <string.h>
23 #include <stdio.h>
24
25 static int
26 do_test (void)
27 {
28 size_t usable_size;
29 void *p = malloc (7);
30 if (!p)
31 {
32 printf ("memory allocation failed\n");
33 return 1;
34 }
35
36 usable_size = malloc_usable_size (p);
37 if (usable_size != 7)
38 {
39 printf ("malloc_usable_size: expected 7 but got %zu\n", usable_size);
40 return 1;
41 }
42
43 memset (p, 0, usable_size);
44 free (p);
45 return 0;
46 }
47
48 #define TEST_FUNCTION do_test ()
49 #include "../test-skeleton.c"