|
Packit Service |
82fcde |
#include <malloc.h>
|
|
Packit Service |
82fcde |
#include <stdio.h>
|
|
Packit Service |
82fcde |
#include <stdlib.h>
|
|
Packit Service |
82fcde |
#include <string.h>
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
#define N 10000
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
static void *arr[N];
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
static int
|
|
Packit Service |
82fcde |
do_test (void)
|
|
Packit Service |
82fcde |
{
|
|
Packit Service |
82fcde |
for (int i = 0; i < N; ++i)
|
|
Packit Service |
82fcde |
{
|
|
Packit Service |
82fcde |
size_t size = random () % 16384;
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
if ((arr[i] = malloc (size)) == NULL)
|
|
Packit Service |
82fcde |
{
|
|
Packit Service |
82fcde |
nomem:
|
|
Packit Service |
82fcde |
puts ("not enough memory");
|
|
Packit Service |
82fcde |
return 0;
|
|
Packit Service |
82fcde |
}
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
memset (arr[i], size, size);
|
|
Packit Service |
82fcde |
}
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
void *p = malloc (256);
|
|
Packit Service |
82fcde |
if (p == NULL)
|
|
Packit Service |
82fcde |
goto nomem;
|
|
Packit Service |
82fcde |
memset (p, 1, 256);
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
puts ("==================================================================");
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
for (int i = 0; i < N; ++i)
|
|
Packit Service |
82fcde |
if (i % 13 != 0)
|
|
Packit Service |
82fcde |
free (arr[i]);
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
puts ("==================================================================");
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
malloc_trim (0);
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
puts ("==================================================================");
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
p = malloc (30000);
|
|
Packit Service |
82fcde |
if (p == NULL)
|
|
Packit Service |
82fcde |
goto nomem;
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
memset (p, 2, 30000);
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
malloc_trim (0);
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
return 0;
|
|
Packit Service |
82fcde |
}
|
|
Packit Service |
82fcde |
|
|
Packit Service |
82fcde |
#define TEST_FUNCTION do_test ()
|
|
Packit Service |
82fcde |
#include "../test-skeleton.c"
|