Commit: 93c91c733cf2259263e4d8c0f3ccc254246d404d Author: Felipe Pena <felipe...@gmail.com> Wed, 16 May 2012 08:40:12 -0300 Parents: 1af8b3f8836bd8fb997ebfead82cbf21d33ed916 Branches: PHP-5.3 PHP-5.4 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=93c91c733cf2259263e4d8c0f3ccc254246d404d Log: - Fixed bug #55299 (multiple null pointer in win32/registry.c) Bugs: https://bugs.php.net/55299 Changed paths: M win32/registry.c Diff: diff --git a/win32/registry.c b/win32/registry.c index 35b411f..45e842b 100644 --- a/win32/registry.c +++ b/win32/registry.c @@ -77,11 +77,16 @@ static int LoadDirectory(HashTable *directories, HKEY key, char *path, int path_ value_len = max_value+1; if (RegEnumValue(key, i, name, &name_len, NULL, &type, value, &value_len) == ERROR_SUCCESS) { if ((type == REG_SZ) || (type == REG_EXPAND_SZ)) { + ht = (HashTable*)malloc(sizeof(HashTable)); if (!ht) { - ht = (HashTable*)malloc(sizeof(HashTable)); - zend_hash_init(ht, 0, NULL, ZVAL_INTERNAL_PTR_DTOR, 1); + return ret; } + zend_hash_init(ht, 0, NULL, ZVAL_INTERNAL_PTR_DTOR, 1); + data = (zval*)malloc(sizeof(zval)); + if (!data) { + return ret; + } INIT_PZVAL(data); Z_STRVAL_P(data) = zend_strndup(value, value_len-1); Z_STRLEN_P(data) = value_len-1; @@ -174,6 +179,9 @@ void UpdateIniFromRegistry(char *path TSRMLS_DC) if (!PW32G(registry_directories)) { PW32G(registry_directories) = (HashTable*)malloc(sizeof(HashTable)); + if (!PW32G(registry_directories)) { + return; + } zend_hash_init(PW32G(registry_directories), 0, NULL, delete_internal_hashtable, 1); if (!OpenPhpRegistryKey("\\Per Directory Values", &PW32G(registry_key))) { PW32G(registry_key) = NULL; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php