mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
hsearch_r: Apply VM size limit in test case
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
2016-02-12 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
|
* misc/bug18240.c (do_test): Set RLIMIT_AS.
|
||||||
|
|
||||||
2016-02-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
2016-02-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||||||
|
|
||||||
[BZ #19529]
|
[BZ #19529]
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_size (size_t size)
|
test_size (size_t size)
|
||||||
@@ -58,6 +59,27 @@ test_size (size_t size)
|
|||||||
static int
|
static int
|
||||||
do_test (void)
|
do_test (void)
|
||||||
{
|
{
|
||||||
|
/* Limit the size of the process, so that memory allocation will
|
||||||
|
fail without impacting the entire system. */
|
||||||
|
{
|
||||||
|
struct rlimit limit;
|
||||||
|
if (getrlimit (RLIMIT_AS, &limit) != 0)
|
||||||
|
{
|
||||||
|
printf ("getrlimit (RLIMIT_AS) failed: %m\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
long target = 100 * 1024 * 1024;
|
||||||
|
if (limit.rlim_cur == RLIM_INFINITY || limit.rlim_cur > target)
|
||||||
|
{
|
||||||
|
limit.rlim_cur = target;
|
||||||
|
if (setrlimit (RLIMIT_AS, &limit) != 0)
|
||||||
|
{
|
||||||
|
printf ("setrlimit (RLIMIT_AS) failed: %m\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
test_size (500);
|
test_size (500);
|
||||||
test_size (-1);
|
test_size (-1);
|
||||||
test_size (-3);
|
test_size (-3);
|
||||||
|
Reference in New Issue
Block a user