]> granicus.if.org Git - php/commitdiff
Fixed bug #14049 (realpath() w/ZTS returns invalid results for non-existent
authorIlia Alshanetsky <iliaa@php.net>
Wed, 10 Sep 2003 00:22:10 +0000 (00:22 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Wed, 10 Sep 2003 00:22:10 +0000 (00:22 +0000)
paths)

ext/standard/file.c

index c6829ae66b5e68e787786d2f1b7e40363955c4ad..ee2a847a09839eeadca31c387bb2e22eda1e7b8f 100644 (file)
@@ -43,6 +43,7 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #ifdef PHP_WIN32
+#include <io.h>
 #define O_RDONLY _O_RDONLY
 #include "win32/param.h"
 #include "win32/winutil.h"
@@ -1939,6 +1940,15 @@ PHP_FUNCTION(realpath)
        convert_to_string_ex(path);
 
        if (VCWD_REALPATH(Z_STRVAL_PP(path), resolved_path_buff)) {
+#if ZTS
+# if PHP_WIN32
+               if (_access(resolved_path_buff, 0))
+                       RETURN_FALSE;
+# else
+               if (access(resolved_path_buff, F_OK))
+                       RETURN_FALSE;
+# endif
+#endif
                RETURN_STRING(resolved_path_buff, 1);
        } else {
                RETURN_FALSE;