]> granicus.if.org Git - php/commitdiff
fix possible out of bounds buffer access
authorAnatol Belski <ab@php.net>
Mon, 3 Apr 2017 13:20:32 +0000 (15:20 +0200)
committerAnatol Belski <ab@php.net>
Mon, 3 Apr 2017 13:20:32 +0000 (15:20 +0200)
Zend/zend_virtual_cwd.c

index ca19802ff7233b5ca0c09a5aca99faa9e6133ca4..8009f2f3fdd733e425de35d42ff5f775850695ba 100644 (file)
@@ -380,7 +380,7 @@ CWD_API int php_sys_stat_ex(const char *path, zend_stat_t *buf, int lstat) /* {{
        if ((data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0) {
                size_t len = strlen(path);
 
-               if (path[len-4] == '.') {
+               if (len >= 4 && path[len-4] == '.') {
                        if (_memicmp(path+len-3, "exe", 3) == 0 ||
                                _memicmp(path+len-3, "com", 3) == 0 ||
                                _memicmp(path+len-3, "bat", 3) == 0 ||