From 9c97489c53e68c7191a10d610b2186e180c1d662 Mon Sep 17 00:00:00 2001 From: William Woodall Date: Tue, 30 Aug 2016 15:36:59 -0700 Subject: [PATCH] check for alloc failure when copying argv (#68) --- rcl/src/rcl/rcl.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rcl/src/rcl/rcl.c b/rcl/src/rcl/rcl.c index 515babd..7c460cb 100644 --- a/rcl/src/rcl/rcl.c +++ b/rcl/src/rcl/rcl.c @@ -95,6 +95,11 @@ rcl_init(int argc, char ** argv, rcl_allocator_t allocator) int i; for (i = 0; i < argc; ++i) { __rcl_argv[i] = (char *)__rcl_allocator.allocate(strlen(argv[i]), __rcl_allocator.state); + if (!__rcl_argv[i]) { + RCL_SET_ERROR_MSG("allocation failed"); + fail_ret = RCL_RET_BAD_ALLOC; + goto fail; + } memcpy(__rcl_argv[i], argv[i], strlen(argv[i])); } rcl_atomic_store(&__rcl_instance_id, ++__rcl_next_unique_id);