]> granicus.if.org Git - php/commitdiff
fix memleak found by valgrind
authorGreg Beaver <cellog@php.net>
Sun, 23 Mar 2008 00:05:53 +0000 (00:05 +0000)
committerGreg Beaver <cellog@php.net>
Sun, 23 Mar 2008 00:05:53 +0000 (00:05 +0000)
ext/phar/stream.c

index a8743c4bcd123b6af0895f55db3d5b3e57997054..dc32d25ae1a492b24af0d4f0cdcab60036a0955b 100644 (file)
@@ -592,7 +592,7 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, char *url, int flags,
                        if (HASH_KEY_NON_EXISTANT !=
                                        zend_hash_get_current_key_ex(
                                                &phar->manifest, &key, &keylen, &unused, 0, NULL)) {
-                               if (0 == memcmp(internal_file, key, internal_file_len)) {
+                               if (keylen >= internal_file_len && 0 == memcmp(internal_file, key, internal_file_len)) {
                                        /* directory found, all dirs have the same stat */
                                        if (key[internal_file_len] == '/') {
                                                phar_dostat(phar, NULL, ssb, 1, phar->alias, phar->alias_len TSRMLS_CC);