diff options
Diffstat (limited to 'stdlib/canonicalize.c')
-rw-r--r-- | stdlib/canonicalize.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/stdlib/canonicalize.c b/stdlib/canonicalize.c index 3394048fb3..5c55c5dbd1 100644 --- a/stdlib/canonicalize.c +++ b/stdlib/canonicalize.c @@ -73,7 +73,14 @@ __realpath (const char *name, char *resolved) path_max = 1024; #endif - rpath = resolved ? __alloca (path_max) : malloc (path_max); + if (resolved == NULL) + { + rpath = malloc (path_max); + if (rpath == NULL) + return NULL; + } + else + rpath = resolved; rpath_limit = rpath + path_max; if (name[0] != '/') |