Interprets the value returned by on_frame_recv_callback() within OnMetadataEndForStream().

PiperOrigin-RevId: 393447815
diff --git a/http2/adapter/callback_visitor.cc b/http2/adapter/callback_visitor.cc
index a4de8a2..122e277 100644
--- a/http2/adapter/callback_visitor.cc
+++ b/http2/adapter/callback_visitor.cc
@@ -410,9 +410,10 @@
     void* payload;
     int result = callbacks_->unpack_extension_callback(
         nullptr, &payload, &current_frame_.hd, user_data_);
-    if (callbacks_->on_frame_recv_callback) {
+    if (result == 0 && callbacks_->on_frame_recv_callback) {
       current_frame_.ext.payload = payload;
-      callbacks_->on_frame_recv_callback(nullptr, &current_frame_, user_data_);
+      result = callbacks_->on_frame_recv_callback(nullptr, &current_frame_,
+                                                  user_data_);
     }
     return (result == 0);
   }