]> granicus.if.org Git - php/commitdiff
increase code coverage in util.c
authorGreg Beaver <cellog@php.net>
Mon, 12 May 2008 00:43:11 +0000 (00:43 +0000)
committerGreg Beaver <cellog@php.net>
Mon, 12 May 2008 00:43:11 +0000 (00:43 +0000)
ext/phar/tests/mkdir.phpt
ext/phar/util.c

index 2adf1ccd287121a643e0df5d0e8e6a69db1ab42d..af8bceb32ca2ad3af4cc4afa090c61e336fcf666 100644 (file)
@@ -17,6 +17,8 @@ mkdir($pname . '/a');
 rmdir('phar://');
 rmdir('phar://foo.phar');
 rmdir($pname . '/a');
+$a->addEmptyDir('bb');
+$a->addEmptyDir('bb');
 ?>
 ===DONE===
 --CLEAN--
index 0add3b913e13de3c4bf5505e4d5e8e2618bdf7ff..5bdd018fdfcffbaef32f0a33e9b0bcf9ffe4dcc4 100644 (file)
@@ -212,7 +212,7 @@ char *phar_find_in_include_path(char *filename, int filename_len, phar_archive_d
 {
 #if PHP_VERSION_ID >= 50300
        char *path, *fname, *arch, *entry, *ret, *test;
-       int arch_len, entry_len;
+       int arch_len, entry_len, fname_len;
 
        if (pphar) {
                *pphar = NULL;
@@ -222,7 +222,9 @@ char *phar_find_in_include_path(char *filename, int filename_len, phar_archive_d
                return phar_save_resolve_path(filename, filename_len TSRMLS_CC);
        }
        fname = zend_get_executed_filename(TSRMLS_C);
-       if (SUCCESS != phar_split_fname(fname, strlen(fname), &arch, &arch_len, &entry, &entry_len, 1, 0 TSRMLS_CC)) {
+       fname_len = strlen(fname);
+
+       if (fname_len < 7 || memcmp(fname, "phar://", 7) || SUCCESS != phar_split_fname(fname, strlen(fname), &arch, &arch_len, &entry, &entry_len, 1, 0 TSRMLS_CC)) {
                return phar_save_resolve_path(filename, filename_len TSRMLS_CC);
        }
        efree(entry);