On 21/01/15 07:28, Joshua Rogers wrote: > --- > ext/mbstring/mbstring.c | 8 ++++---- > ext/reflection/php_reflection.c | 1 + > main/main.c | 1 + > 3 files changed, 6 insertions(+), 4 deletions(-) > > diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c > index 7f2209f..504a5e6 100644 > --- a/ext/mbstring/mbstring.c > +++ b/ext/mbstring/mbstring.c > @@ -3891,7 +3891,7 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, > const char *str, size_t > int state = 0; > int crlf_state = -1; > char *token = NULL; > - size_t token_pos; > + size_t token_pos = 0; > zend_string *fld_name, *fld_val; > > 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(token) { > + if(token && token_pos > 0) { > fld_name = > zend_string_init(token, token_pos, 0); > } > state = 2; > @@ -3983,7 +3983,7 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, > const char *str, size_t > > case 3: > if (crlf_state == -1) { > - if(token) { > + if(token && token_pos > > 0) { > fld_val = > zend_string_init(token, token_pos, 0); > } > > @@ -4032,7 +4032,7 @@ out: > state = 3; > } > if (state == 3) { > - if(token) { > + if(token && token_pos > 0) { > fld_val = zend_string_init(token, token_pos, 0); > } > if (fld_name != NULL && fld_val != NULL) { > diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c > index 3f5c7a9..1f5085c 100644 > --- a/ext/reflection/php_reflection.c > +++ b/ext/reflection/php_reflection.c > @@ -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) { > zend_property_info property_info; > > + property_info.doc_comment = NULL; > property_info.flags = ZEND_ACC_IMPLICIT_PUBLIC; > property_info.name = hash_key->key; > property_info.ce = ce; > diff --git a/main/main.c b/main/main.c > index 3aef805..50d0161 100644 > --- a/main/main.c > +++ b/main/main.c > @@ -2255,6 +2255,7 @@ int php_module_startup(sapi_module_struct *sf, > zend_module_entry *additional_mod > > zuv.html_errors = 1; > zuv.import_use_extension = ".php"; > + zuv.import_use_extension_length = > (uint)strlen(zuv.import_use_extension); > php_startup_auto_globals(); > zend_set_utility_values(&zuv); > php_startup_sapi_content_types(); This also fixes a potential buffer overflow. (see the "&& token_pos > 0" additions)
Thanks, -- -- Joshua Rogers <https://internot.info/>
signature.asc
Description: OpenPGP digital signature