From: Brian Date: Thu, 14 Dec 2006 20:59:53 +0000 (-0700) Subject: Modify _mesa_strdup() so it handles NULL correctly. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=200736ebd8c82b03b781a6c6481d05deb1f0c8bf;p=mesa.git Modify _mesa_strdup() so it handles NULL correctly. --- diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c index a09c497795e..9c7ebf9287d 100644 --- a/src/mesa/main/imports.c +++ b/src/mesa/main/imports.c @@ -920,15 +920,23 @@ _mesa_strncmp( const char *s1, const char *s2, size_t n ) #endif } -/** Implemented using _mesa_malloc() and _mesa_strcpy */ +/** + * Implemented using _mesa_malloc() and _mesa_strcpy. + * Note that NULL is handled accordingly. + */ char * _mesa_strdup( const char *s ) { - size_t l = _mesa_strlen(s); - char *s2 = (char *) _mesa_malloc(l + 1); - if (s2) - _mesa_strcpy(s2, s); - return s2; + if (s) { + size_t l = _mesa_strlen(s); + char *s2 = (char *) _mesa_malloc(l + 1); + if (s2) + _mesa_strcpy(s2, s); + return s2; + } + else { + return NULL; + } } /** Wrapper around either atoi() or xf86atoi() */