From: Michael Wallner Date: Wed, 18 Sep 2013 09:10:55 +0000 (+0200) Subject: fix a very rare case of use of uninitialized value combined with a X-Git-Tag: php-5.5.4~3^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9bfd55cda3bd66b56af84a569fafd8a77cbb3726;p=php fix a very rare case of use of uninitialized value combined with a memleak --- diff --git a/main/fopen_wrappers.c b/main/fopen_wrappers.c index 6f11cf3f32..9b8645a061 100644 --- a/main/fopen_wrappers.c +++ b/main/fopen_wrappers.c @@ -775,7 +775,12 @@ PHPAPI char *expand_filepath_with_mode(const char *filepath, char *real_path, co * we cannot cannot getcwd() and the requested, * relatively referenced file is accessible */ copy_len = strlen(filepath) > MAXPATHLEN - 1 ? MAXPATHLEN - 1 : strlen(filepath); - real_path = estrndup(filepath, copy_len); + if (real_path) { + memcpy(real_path, filepath, copy_len); + real_path[copy_len] = '\0'; + } else { + real_path = estrndup(filepath, copy_len); + } close(fdtest); return real_path; } else {