diff options
author | Stanley Cheung <stanley.cheung@gmail.com> | 2018-01-23 13:46:23 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-23 13:46:23 -0800 |
commit | d715e7d7483c66dd645adb860a1d277979003b89 (patch) | |
tree | d3c41760fa5a471dbd3ba9dc80f512c30fb4f40c /src/php/ext | |
parent | 99bb1703bf3a90afc51b7c2ed48a94d07acd34bf (diff) | |
parent | d3b55246870c9a9c8e8e3c628148c3b9e4f6b9fb (diff) |
Merge pull request #14126 from ZhouyihaiDing/get_target_leak
php: fix channel get_target method leak
Diffstat (limited to 'src/php/ext')
-rw-r--r-- | src/php/ext/grpc/channel.c | 4 | ||||
-rw-r--r-- | src/php/ext/grpc/php7_wrapper.h | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/php/ext/grpc/channel.c b/src/php/ext/grpc/channel.c index 83274fe49a..dd48b8981a 100644 --- a/src/php/ext/grpc/channel.c +++ b/src/php/ext/grpc/channel.c @@ -41,6 +41,7 @@ #include <grpc/grpc.h> #include <grpc/grpc_security.h> +#include <grpc/support/alloc.h> #include "completion_queue.h" #include "channel_credentials.h" @@ -323,7 +324,8 @@ PHP_METHOD(Channel, getTarget) { } char *target = grpc_channel_get_target(channel->wrapper->wrapped); gpr_mu_unlock(&channel->wrapper->mu); - PHP_GRPC_RETURN_STRING(target, 1); + PHP_GRPC_RETVAL_STRING(target, 1); + gpr_free(target); } /** diff --git a/src/php/ext/grpc/php7_wrapper.h b/src/php/ext/grpc/php7_wrapper.h index 96091f9dad..2f4a53611c 100644 --- a/src/php/ext/grpc/php7_wrapper.h +++ b/src/php/ext/grpc/php7_wrapper.h @@ -33,6 +33,7 @@ #define php_grpc_add_next_index_stringl(data, str, len, b) \ add_next_index_stringl(data, str, len, b) +#define PHP_GRPC_RETVAL_STRING(val, dup) RETVAL_STRING(val, dup) #define PHP_GRPC_RETURN_STRING(val, dup) RETURN_STRING(val, dup) #define PHP_GRPC_MAKE_STD_ZVAL(pzv) MAKE_STD_ZVAL(pzv) #define PHP_GRPC_FREE_STD_ZVAL(pzv) @@ -145,6 +146,7 @@ static inline int php_grpc_zend_hash_find(HashTable *ht, char *key, int len, #define php_grpc_add_next_index_stringl(data, str, len, b) \ add_next_index_stringl(data, str, len) +#define PHP_GRPC_RETVAL_STRING(val, dup) RETVAL_STRING(val) #define PHP_GRPC_RETURN_STRING(val, dup) RETURN_STRING(val) #define PHP_GRPC_MAKE_STD_ZVAL(pzv) \ pzv = (zval *)emalloc(sizeof(zval)); |