From bccadc7d67a5efe1054062463c74738b8f54a8e4 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 28 Jul 2008 11:49:37 +0200 Subject: [PATCH] Fix segfault in str(n)dup function. --- src/std/c_alloc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/std/c_alloc.c b/src/std/c_alloc.c index 3d2261060..d4ac22b8d 100644 --- a/src/std/c_alloc.c +++ b/src/std/c_alloc.c @@ -52,6 +52,9 @@ void *c_realloc(void *ptr, size_t size) { char *c_strdup(const char *str) { char *ret; ret = (char *) c_malloc(strlen(str) + 1); + if (ret == NULL) { + return NULL; + } strcpy(ret, str); return ret; } @@ -64,6 +67,9 @@ char *c_strndup(const char *str, size_t size) { len = size; } ret = (char *) c_malloc(len + 1); + if (ret == NULL) { + return NULL; + } strncpy(ret, str, len); ret[size] = '\0'; return ret;