From 7cd635f9e62b418fe500b594fed2f55fd7d3c011 Mon Sep 17 00:00:00 2001 From: Stephen Brawner Date: Mon, 31 Aug 2020 10:50:02 -0700 Subject: [PATCH] Don't overwrite string_array pointer on reallocation failure Signed-off-by: Stephen Brawner --- rcl_yaml_param_parser/src/parser.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rcl_yaml_param_parser/src/parser.c b/rcl_yaml_param_parser/src/parser.c index e0405d48c..994819b2c 100644 --- a/rcl_yaml_param_parser/src/parser.c +++ b/rcl_yaml_param_parser/src/parser.c @@ -998,13 +998,14 @@ static rcutils_ret_t add_val_to_string_arr( val_array->data[0U] = value; } else { /// Increase the array size by one and add the new value - val_array->data = allocator.reallocate( + char ** new_string_arr_ptr = allocator.reallocate( val_array->data, ((val_array->size + 1U) * sizeof(char *)), allocator.state); - if (NULL == val_array->data) { + if (NULL == new_string_arr_ptr) { RCUTILS_SAFE_FWRITE_TO_STDERR("Error allocating mem\n"); return RCUTILS_RET_BAD_ALLOC; } + val_array->data = new_string_arr_ptr; val_array->data[val_array->size] = value; val_array->size++; }