summaryrefslogtreecommitdiffstats
path: root/bin/sh/memalloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'bin/sh/memalloc.c')
-rw-r--r--bin/sh/memalloc.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/bin/sh/memalloc.c b/bin/sh/memalloc.c
index 60f9203..115eea0 100644
--- a/bin/sh/memalloc.c
+++ b/bin/sh/memalloc.c
@@ -57,7 +57,10 @@ ckmalloc(int nbytes)
{
pointer p;
- if ((p = malloc(nbytes)) == NULL)
+ INTOFF;
+ p = malloc(nbytes);
+ INTON;
+ if (p == NULL)
error("Out of space");
return p;
}
@@ -70,11 +73,22 @@ ckmalloc(int nbytes)
pointer
ckrealloc(pointer p, int nbytes)
{
- if ((p = realloc(p, nbytes)) == NULL)
+ INTOFF;
+ p = realloc(p, nbytes);
+ INTON;
+ if (p == NULL)
error("Out of space");
return p;
}
+void
+ckfree(pointer p)
+{
+ INTOFF;
+ free(p);
+ INTON;
+}
+
/*
* Make a copy of a string in safe storage.
OpenPOWER on IntegriCloud