]> granicus.if.org Git - php/commitdiff
- Merge: fix crash for bug #47627
authorPierre Joye <pajoye@php.net>
Thu, 15 Oct 2009 21:32:24 +0000 (21:32 +0000)
committerPierre Joye <pajoye@php.net>
Thu, 15 Oct 2009 21:32:24 +0000 (21:32 +0000)
main/main.c
win32/registry.c

index 815fb9cb5c617b82e6f22587658ffb0863e2a941..9e7cc2fe20d96a619e2640aec5d6cc5088c0d48e 100644 (file)
@@ -2162,7 +2162,9 @@ PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC)
                char realfile[MAXPATHLEN];
 
 #ifdef PHP_WIN32
-               UpdateIniFromRegistry(primary_file->filename TSRMLS_CC);
+               if(primary_file->filename) {
+                       UpdateIniFromRegistry(primary_file->filename TSRMLS_CC);
+               }
 #endif
 
                PG(during_request_startup) = 0;
@@ -2252,7 +2254,9 @@ PHPAPI int php_execute_simple_script(zend_file_handle *primary_file, zval **ret
 
        zend_try {
 #ifdef PHP_WIN32
-               UpdateIniFromRegistry(primary_file->filename TSRMLS_CC);
+               if(primary_file->filename) {
+                       UpdateIniFromRegistry(primary_file->filename TSRMLS_CC);
+               }
 #endif
 
                PG(during_request_startup) = 0;
index d5f84af59546ef3243ea9e702eb80085d77e9c3b..77089ba6a72f237b6a5fb59267ce46eba789e26e 100644 (file)
@@ -168,6 +168,10 @@ void UpdateIniFromRegistry(char *path TSRMLS_DC)
        int path_len;
        HashTable **pht;
 
+       if(!path) {
+               return;
+       }
+
        if (!PW32G(registry_directories)) {
                PW32G(registry_directories) = (HashTable*)malloc(sizeof(HashTable));
                zend_hash_init(PW32G(registry_directories), 0, NULL, delete_internal_hashtable, 1);