From 1a95b4a03496a54a34be3d45696ecaab29b5dcdd Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Thu, 15 Oct 2009 21:32:24 +0000 Subject: [PATCH] - Merge: fix crash for bug #47627 --- main/main.c | 8 ++++++-- win32/registry.c | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/main/main.c b/main/main.c index 815fb9cb5c..9e7cc2fe20 100644 --- a/main/main.c +++ b/main/main.c @@ -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; diff --git a/win32/registry.c b/win32/registry.c index d5f84af595..77089ba6a7 100644 --- a/win32/registry.c +++ b/win32/registry.c @@ -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); -- 2.50.1