diff options
Diffstat (limited to 'src/core/lib/security/context/security_context.cc')
-rw-r--r-- | src/core/lib/security/context/security_context.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/core/lib/security/context/security_context.cc b/src/core/lib/security/context/security_context.cc index 14051a3f00..94c9c69fcd 100644 --- a/src/core/lib/security/context/security_context.cc +++ b/src/core/lib/security/context/security_context.cc @@ -21,6 +21,7 @@ #include <string.h> #include "src/core/lib/channel/channel_args.h" +#include "src/core/lib/gpr/arena.h" #include "src/core/lib/gpr/string.h" #include "src/core/lib/security/context/security_context.h" #include "src/core/lib/surface/api_trace.h" @@ -49,7 +50,7 @@ grpc_call_error grpc_call_set_credentials(grpc_call* call, ctx = static_cast<grpc_client_security_context*>( grpc_call_context_get(call, GRPC_CONTEXT_SECURITY)); if (ctx == nullptr) { - ctx = grpc_client_security_context_create(); + ctx = grpc_client_security_context_create(grpc_call_get_arena(call)); ctx->creds = grpc_call_credentials_ref(creds); grpc_call_context_set(call, GRPC_CONTEXT_SECURITY, ctx, grpc_client_security_context_destroy); @@ -81,9 +82,10 @@ void grpc_auth_context_release(grpc_auth_context* context) { /* --- grpc_client_security_context --- */ -grpc_client_security_context* grpc_client_security_context_create(void) { +grpc_client_security_context* grpc_client_security_context_create( + gpr_arena* arena) { return static_cast<grpc_client_security_context*>( - gpr_zalloc(sizeof(grpc_client_security_context))); + gpr_arena_alloc(arena, sizeof(grpc_client_security_context))); } void grpc_client_security_context_destroy(void* ctx) { @@ -95,14 +97,13 @@ void grpc_client_security_context_destroy(void* ctx) { if (c->extension.instance != nullptr && c->extension.destroy != nullptr) { c->extension.destroy(c->extension.instance); } - gpr_free(ctx); } /* --- grpc_server_security_context --- */ - -grpc_server_security_context* grpc_server_security_context_create(void) { +grpc_server_security_context* grpc_server_security_context_create( + gpr_arena* arena) { return static_cast<grpc_server_security_context*>( - gpr_zalloc(sizeof(grpc_server_security_context))); + gpr_arena_alloc(arena, sizeof(grpc_server_security_context))); } void grpc_server_security_context_destroy(void* ctx) { @@ -112,7 +113,6 @@ void grpc_server_security_context_destroy(void* ctx) { if (c->extension.instance != nullptr && c->extension.destroy != nullptr) { c->extension.destroy(c->extension.instance); } - gpr_free(ctx); } /* --- grpc_auth_context --- */ |