about summary refs log tree commit diff
path: root/elf/dl-tunables.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dl-tunables.c')
-rw-r--r--elf/dl-tunables.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/elf/dl-tunables.c b/elf/dl-tunables.c
index 1666736bc1..497e948f1c 100644
--- a/elf/dl-tunables.c
+++ b/elf/dl-tunables.c
@@ -31,6 +31,7 @@
 #include <fcntl.h>
 #include <ldsodefs.h>
 #include <array_length.h>
+#include <dl-minimal-malloc.h>
 
 #define TUNABLES_INTERNAL 1
 #include "dl-tunables.h"
@@ -48,13 +49,13 @@ tunables_strdup (const char *in)
   size_t i = 0;
 
   while (in[i++] != '\0');
-  char *out = __sbrk (i);
+  char *out = __minimal_malloc (i + 1);
 
   /* For most of the tunables code, we ignore user errors.  However,
      this is a system error - and running out of memory at program
      startup should be reported, so we do.  */
-  if (out == (void *)-1)
-    _dl_fatal_printf ("sbrk() failure while processing tunables\n");
+  if (out == NULL)
+    _dl_fatal_printf ("failed to allocate memory to process tunables\n");
 
   while (i-- > 0)
     out[i] = in[i];