@@ -1341,9 +1341,12 @@ inline WasmResult grpcCall(std::string_view service, std::string_view service_na
13411341 void *metadata_ptr = nullptr ;
13421342 size_t metadata_size = 0 ;
13431343 MakeHeaderStringPairsBuffer (initial_metadata, &metadata_ptr, &metadata_size);
1344- return proxy_grpc_call (service.data (), service.size (), service_name.data (), service_name.size (),
1345- method_name.data (), method_name.size (), metadata_ptr, metadata_size,
1346- request.data (), request.size (), timeout_milliseconds, token_ptr);
1344+ WasmResult result =
1345+ proxy_grpc_call (service.data (), service.size (), service_name.data (), service_name.size (),
1346+ method_name.data (), method_name.size (), metadata_ptr, metadata_size,
1347+ request.data (), request.size (), timeout_milliseconds, token_ptr);
1348+ ::free (metadata_ptr);
1349+ return result;
13471350}
13481351
13491352#ifdef PROXY_WASM_PROTOBUF
@@ -1366,9 +1369,11 @@ inline WasmResult grpcStream(std::string_view service, std::string_view service_
13661369 void *metadata_ptr = nullptr ;
13671370 size_t metadata_size = 0 ;
13681371 MakeHeaderStringPairsBuffer (initial_metadata, &metadata_ptr, &metadata_size);
1369- return proxy_grpc_stream (service.data (), service.size (), service_name.data (), service_name.size (),
1370- method_name.data (), method_name.size (), metadata_ptr, metadata_size,
1371- token_ptr);
1372+ WasmResult result = proxy_grpc_stream (service.data (), service.size (), service_name.data (),
1373+ service_name.size (), method_name.data (), method_name.size (),
1374+ metadata_ptr, metadata_size, token_ptr);
1375+ ::free (metadata_ptr);
1376+ return result;
13721377}
13731378
13741379inline WasmResult grpcCancel (uint32_t token) { return proxy_grpc_cancel (token); }
0 commit comments