diff --git a/rcl/src/rcl/init.c b/rcl/src/rcl/init.c index ae716a04b..38c85a5c4 100644 --- a/rcl/src/rcl/init.c +++ b/rcl/src/rcl/init.c @@ -83,6 +83,9 @@ rcl_init( // Zero initialize rmw context first so its validity can by checked in cleanup. context->impl->rmw_context = rmw_get_zero_initialized_context(); + // Store the allocator. + context->impl->allocator = allocator; + // Copy the options into the context for future reference. rcl_ret_t ret = rcl_init_options_copy(options, &(context->impl->init_options)); if (RCL_RET_OK != ret) { @@ -151,9 +154,6 @@ rcl_init( goto fail; } - // Store the allocator. - context->impl->allocator = allocator; - TRACEPOINT(rcl_init, (const void *)context); return RCL_RET_OK;