mirror of
https://github.com/php/php-src.git
synced 2024-09-22 18:37:25 +00:00
fix: prevent of possible crash
This commit is contained in:
parent
6e06620089
commit
6aad56d4a2
@ -1148,13 +1148,17 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo
|
||||
xmlNodePtr property;
|
||||
zval **zprop;
|
||||
char *str_key;
|
||||
ulong index;
|
||||
int key_type;
|
||||
|
||||
zend_hash_get_current_key(prop, &str_key, NULL, FALSE);
|
||||
key_type = zend_hash_get_current_key(prop, &str_key, &index, FALSE);
|
||||
zend_hash_get_current_data(prop, (void **)&zprop);
|
||||
|
||||
property = master_to_xml(get_conversion((*zprop)->type), (*zprop), style, xmlParam);
|
||||
|
||||
if (key_type == HASH_KEY_IS_STRING) {
|
||||
xmlNodeSetName(property, str_key);
|
||||
}
|
||||
zend_hash_move_forward(prop);
|
||||
}
|
||||
}
|
||||
|
@ -224,9 +224,9 @@ int send_http_soap_request(zval *this_ptr, xmlDoc *doc, char *location, char *so
|
||||
}
|
||||
|
||||
use_ssl = 0;
|
||||
if (strcmp(phpurl->scheme, "https") == 0) {
|
||||
if (phpurl->scheme != NULL && strcmp(phpurl->scheme, "https") == 0) {
|
||||
use_ssl = 1;
|
||||
} else if (strcmp(phpurl->scheme, "http") != 0) {
|
||||
} else if (phpurl->scheme == NULL || strcmp(phpurl->scheme, "http") != 0) {
|
||||
xmlFree(buf);
|
||||
php_url_free(phpurl);
|
||||
add_soap_fault(this_ptr, "HTTP", "Unknown protocol. Only http and https are allowed.", NULL, NULL TSRMLS_CC);
|
||||
|
Loading…
Reference in New Issue
Block a user