Merge pull request #14157 from ZhouyihaiDing/pr_callcredentials_metadata_leak

php: call credentials plugin_get_metadata metadata leak
pull/14169/head
Stanley Cheung 7 years ago committed by GitHub
commit 42cf55675f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      src/php/ext/grpc/call.c
  2. 1
      src/php/ext/grpc/call_credentials.c

@ -128,10 +128,12 @@ bool create_metadata_array(zval *array, grpc_metadata_array *metadata) {
HashTable *inner_array_hash; HashTable *inner_array_hash;
zval *value; zval *value;
zval *inner_array; zval *inner_array;
grpc_metadata_array_init(metadata);
metadata->count = 0;
metadata->metadata = NULL;
if (Z_TYPE_P(array) != IS_ARRAY) { if (Z_TYPE_P(array) != IS_ARRAY) {
return false; return false;
} }
grpc_metadata_array_init(metadata);
array_hash = Z_ARRVAL_P(array); array_hash = Z_ARRVAL_P(array);
char *key; char *key;

@ -195,6 +195,7 @@ int plugin_get_metadata(
if (!create_metadata_array(retval, &metadata)) { if (!create_metadata_array(retval, &metadata)) {
*status = GRPC_STATUS_INVALID_ARGUMENT; *status = GRPC_STATUS_INVALID_ARGUMENT;
should_return = true; // Synchronous return. should_return = true; // Synchronous return.
grpc_php_metadata_array_destroy_including_entries(&metadata);
} }
if (retval != NULL) { if (retval != NULL) {

Loading…
Cancel
Save