diff --git a/src/core/transport/chttp2_transport.c b/src/core/transport/chttp2_transport.c index ea24796f350e046a43db574d261ba3f6f544ac47..a6f9f782a1890d3c26d1b335cd6fb3bddf8a5b83 100644 --- a/src/core/transport/chttp2_transport.c +++ b/src/core/transport/chttp2_transport.c @@ -1927,8 +1927,10 @@ static void recv_data(void *tp, gpr_slice *slices, size_t nslices, break; case GRPC_ENDPOINT_CB_OK: lock(t); - for (i = 0; i < nslices && process_read(t, slices[i]); i++) - ; + if (t->cb) { + for (i = 0; i < nslices && process_read(t, slices[i]); i++) + ; + } unlock(t); keep_reading = 1; break;