Fix uninitalized variables reads. See CWE-457 for more info.

This commit is contained in:
Joshua Rogers 2015-01-21 06:14:56 +11:00
parent b16fdebcf8
commit 6621840951
3 changed files with 6 additions and 4 deletions

View File

@ -3891,7 +3891,7 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t
int state = 0; int state = 0;
int crlf_state = -1; int crlf_state = -1;
char *token = NULL; char *token = NULL;
size_t token_pos; size_t token_pos = 0;
zend_string *fld_name, *fld_val; zend_string *fld_name, *fld_val;
ps = str; ps = str;
@ -3917,7 +3917,7 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t
} }
if (state == 0 || state == 1) { if (state == 0 || state == 1) {
if(token) { if(token && token_pos > 0) {
fld_name = zend_string_init(token, token_pos, 0); fld_name = zend_string_init(token, token_pos, 0);
} }
state = 2; state = 2;
@ -3983,7 +3983,7 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t
case 3: case 3:
if (crlf_state == -1) { if (crlf_state == -1) {
if(token) { if(token && token_pos > 0) {
fld_val = zend_string_init(token, token_pos, 0); fld_val = zend_string_init(token, token_pos, 0);
} }
@ -4032,7 +4032,7 @@ out:
state = 3; state = 3;
} }
if (state == 3) { if (state == 3) {
if(token) { if(token && token_pos > 0) {
fld_val = zend_string_init(token, token_pos, 0); fld_val = zend_string_init(token, token_pos, 0);
} }
if (fld_name != NULL && fld_val != NULL) { if (fld_name != NULL && fld_val != NULL) {

View File

@ -3978,6 +3978,7 @@ static int _adddynproperty(zval *ptr, int num_args, va_list args, zend_hash_key
if (zend_get_property_info(ce, hash_key->key, 1) == NULL) { if (zend_get_property_info(ce, hash_key->key, 1) == NULL) {
zend_property_info property_info; zend_property_info property_info;
property_info.doc_comment = NULL;
property_info.flags = ZEND_ACC_IMPLICIT_PUBLIC; property_info.flags = ZEND_ACC_IMPLICIT_PUBLIC;
property_info.name = hash_key->key; property_info.name = hash_key->key;
property_info.ce = ce; property_info.ce = ce;

View File

@ -2255,6 +2255,7 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
zuv.html_errors = 1; zuv.html_errors = 1;
zuv.import_use_extension = ".php"; zuv.import_use_extension = ".php";
zuv.import_use_extension_length = (uint)strlen(zuv.import_use_extension);
php_startup_auto_globals(); php_startup_auto_globals();
zend_set_utility_values(&zuv); zend_set_utility_values(&zuv);
php_startup_sapi_content_types(); php_startup_sapi_content_types();