fixed seg fault caused by access client after it is closed

pull/18302/head
Jerry 6 years ago
parent 2f300f88fb
commit c619c49fab
  1. 6
      src/php/ext/grpc/call.c

@ -217,6 +217,12 @@ PHP_METHOD(Call, __construct) {
}
wrapped_grpc_channel *channel =
PHP_GRPC_GET_WRAPPED_OBJECT(wrapped_grpc_channel, channel_obj);
if (channel->wrapper == NULL || channel->wrapper->wrapped == NULL) {
zend_throw_exception(spl_ce_InvalidArgumentException,
"Call cannot be constructed from a closed Channel",
1 TSRMLS_CC);
return;
}
gpr_mu_lock(&channel->wrapper->mu);
if (channel->wrapper == NULL || channel->wrapper->wrapped == NULL) {
zend_throw_exception(spl_ce_InvalidArgumentException,

Loading…
Cancel
Save