|
|
|
@ -125,9 +125,15 @@ zval *grpc_parse_metadata_array(grpc_metadata_array *metadata_array) { |
|
|
|
|
memcpy(str_val, elem->value, elem->value_length); |
|
|
|
|
if (zend_hash_find(array_hash, str_key, key_len, (void **)data) == |
|
|
|
|
SUCCESS) { |
|
|
|
|
zend_throw_exception(zend_exception_get_default(), |
|
|
|
|
"Metadata hash somehow contains wrong types.", |
|
|
|
|
1 TSRMLS_CC); |
|
|
|
|
if (Z_TYPE_P(*data) != IS_ARRAY) { |
|
|
|
|
zend_throw_exception(zend_exception_get_default(), |
|
|
|
|
"Metadata hash somehow contains wrong types.", |
|
|
|
|
1 TSRMLS_CC); |
|
|
|
|
efree(str_key); |
|
|
|
|
efree(str_val); |
|
|
|
|
return NULL; |
|
|
|
|
} |
|
|
|
|
add_next_index_stringl(*data, str_val, elem->value_length, false); |
|
|
|
|
} else { |
|
|
|
|
MAKE_STD_ZVAL(inner_array); |
|
|
|
|
array_init(inner_array); |
|
|
|
|