Skip to content

Commit d5b8e4d

Browse files
authored
fix nil-dereference panic (#395)
1 parent 0efcfa6 commit d5b8e4d

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

invoke.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -264,8 +264,10 @@ func invokeServerStream(ctx context.Context, stub grpcdynamic.Stub, md *desc.Met
264264
// Now we can actually invoke the RPC!
265265
str, err := stub.InvokeRpcServerStream(ctx, md, req)
266266

267-
if respHeaders, err := str.Header(); err == nil {
268-
handler.OnReceiveHeaders(respHeaders)
267+
if str != nil {
268+
if respHeaders, err := str.Header(); err == nil {
269+
handler.OnReceiveHeaders(respHeaders)
270+
}
269271
}
270272

271273
// Download each response message
@@ -288,7 +290,9 @@ func invokeServerStream(ctx context.Context, stub grpcdynamic.Stub, md *desc.Met
288290
return fmt.Errorf("grpc call for %q failed: %v", md.GetFullyQualifiedName(), err)
289291
}
290292

291-
handler.OnReceiveTrailers(stat, str.Trailer())
293+
if str != nil {
294+
handler.OnReceiveTrailers(stat, str.Trailer())
295+
}
292296

293297
return nil
294298
}

0 commit comments

Comments
 (0)