From b91f0f27c5cfd92b5f9358fe54f556fec6005d22 Mon Sep 17 00:00:00 2001
From: Stanley Cheung <stanleycheung@google.com>
Date: Tue, 16 Feb 2016 09:36:36 -0800
Subject: [PATCH] revert unnecessary change

---
 src/php/ext/grpc/call.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/php/ext/grpc/call.c b/src/php/ext/grpc/call.c
index 4b4336666c..024ab70571 100644
--- a/src/php/ext/grpc/call.c
+++ b/src/php/ext/grpc/call.c
@@ -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);
-- 
GitLab