From 51a1d6a3b744e2d3408e03d3f7e4d9f14d4e054c Mon Sep 17 00:00:00 2001 From: Greg Beaver Date: Mon, 12 May 2008 00:43:11 +0000 Subject: [PATCH] increase code coverage in util.c --- ext/phar/tests/mkdir.phpt | 2 ++ ext/phar/util.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ext/phar/tests/mkdir.phpt b/ext/phar/tests/mkdir.phpt index 2adf1ccd287..af8bceb32ca 100644 --- a/ext/phar/tests/mkdir.phpt +++ b/ext/phar/tests/mkdir.phpt @@ -17,6 +17,8 @@ mkdir($pname . '/a'); rmdir('phar://'); rmdir('phar://foo.phar'); rmdir($pname . '/a'); +$a->addEmptyDir('bb'); +$a->addEmptyDir('bb'); ?> ===DONE=== --CLEAN-- diff --git a/ext/phar/util.c b/ext/phar/util.c index 0add3b913e1..5bdd018fdfc 100644 --- a/ext/phar/util.c +++ b/ext/phar/util.c @@ -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);