]> granicus.if.org Git - php/commitdiff
- Add safe_mode/uid and open_basedir check to zip_open() (closes #16927).
authorMarkus Fischer <mfischer@php.net>
Mon, 20 May 2002 18:33:08 +0000 (18:33 +0000)
committerMarkus Fischer <mfischer@php.net>
Mon, 20 May 2002 18:33:08 +0000 (18:33 +0000)
ext/zip/zip.c

index 506552207ca52e0c0389cc7c4e13c558e63f1cd4..27f72bb2247e466e030cdeacd3e13655a1b4ec85 100644 (file)
@@ -128,9 +128,18 @@ PHP_FUNCTION(zip_open)
                return;
        }
 
+       if (PG(safe_mode) && (!php_checkuid(filename, NULL, CHECKUID_ALLOW_FILE_NOT_EXISTS))) {
+               RETURN_FALSE;
+       }
+
+       if (php_check_open_basedir(filename TSRMLS_CC)) {
+               RETURN_FALSE;
+       }
+
        archive_p = zzip_opendir(filename);
        if (archive_p == NULL) {
-               php_error(E_WARNING, "Cannot open zip archive %s", filename);
+               php_error(E_WARNING, "%s() Cannot open zip archive %s", 
+                                 get_active_function_name(TSRMLS_C), filename);
                RETURN_FALSE;
        }