diff options
author | Bo Yang <teboring@google.com> | 2017-12-01 20:14:19 -0800 |
---|---|---|
committer | Bo Yang <teboring@google.com> | 2017-12-06 10:37:26 -0800 |
commit | e0d3aa057b89540cf83de6639a86d1ddb7199315 (patch) | |
tree | ef4bca72037865bbf2ef5a59b8c252acad0a77fd /php/ext/google | |
parent | de44982a747519602409fcf7b0cceaf123bf1420 (diff) |
Fix memory leak when creating repeated field via array.
Diffstat (limited to 'php/ext/google')
-rw-r--r-- | php/ext/google/protobuf/type_check.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/php/ext/google/protobuf/type_check.c b/php/ext/google/protobuf/type_check.c index f588774c..50e0f8c1 100644 --- a/php/ext/google/protobuf/type_check.c +++ b/php/ext/google/protobuf/type_check.c @@ -461,8 +461,7 @@ void check_repeated_field(const zend_class_entry* klass, PHP_PROTO_LONG type, CACHED_PTR_TO_ZVAL_PTR((CACHED_VALUE*)memory) TSRMLS_CC); } - Z_DELREF_P(CACHED_TO_ZVAL_PTR(repeated_field)); - RETURN_ZVAL(CACHED_TO_ZVAL_PTR(repeated_field), 1, 0); + RETURN_ZVAL(CACHED_TO_ZVAL_PTR(repeated_field), 1, 1); } else if (Z_TYPE_P(val) == IS_OBJECT) { if (!instanceof_function(Z_OBJCE_P(val), repeated_field_type TSRMLS_CC)) { |