From bf6ddd6c4dccf01c4a27761c5f73918db578f8d6 Mon Sep 17 00:00:00 2001 From: Uwe Kleine-König Date: Fri, 9 Sep 2016 08:37:22 +0200 Subject: xstrdup: don't panic on xstrdup(NULL) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead return just NULL. This matches the behaviour of kstrdup in the kernel and xstrdup in busybox. This fixes a panic with CONFIG_CMD_MAGICVAR=y and CONFIG_CMD_MAGICVAR_HELP unset in magicvar_add() where description is always NULL. Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer --- lib/xfuncs.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/xfuncs.c b/lib/xfuncs.c index aaf0788544..1dc2ea92d8 100644 --- a/lib/xfuncs.c +++ b/lib/xfuncs.c @@ -56,10 +56,15 @@ EXPORT_SYMBOL(xzalloc); char *xstrdup(const char *s) { - char *p = strdup(s); + char *p; + + if (!s) + return NULL; + p = strdup(s); if (!p) panic("ERROR: out of memory\n"); + return p; } EXPORT_SYMBOL(xstrdup); -- cgit v1.2.3