Skip to content

Commit a50f3cb

Browse files
committed
Set yaml_variant values to NULL on finalization
Signed-off-by: Stephen Brawner <[email protected]>
1 parent fb4b023 commit a50f3cb

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

rcl_yaml_param_parser/src/parser.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,33 +593,41 @@ void rcl_yaml_variant_fini(
593593

594594
if (NULL != param_var->bool_value) {
595595
allocator.deallocate(param_var->bool_value, allocator.state);
596+
param_var->bool_value = NULL;
596597
} else if (NULL != param_var->integer_value) {
597598
allocator.deallocate(param_var->integer_value, allocator.state);
599+
param_var->integer_value = NULL;
598600
} else if (NULL != param_var->double_value) {
599601
allocator.deallocate(param_var->double_value, allocator.state);
602+
param_var->double_value = NULL;
600603
} else if (NULL != param_var->string_value) {
601604
allocator.deallocate(param_var->string_value, allocator.state);
605+
param_var->string_value = NULL;
602606
} else if (NULL != param_var->bool_array_value) {
603607
if (NULL != param_var->bool_array_value->values) {
604608
allocator.deallocate(param_var->bool_array_value->values, allocator.state);
605609
}
606610
allocator.deallocate(param_var->bool_array_value, allocator.state);
611+
param_var->bool_array_value = NULL;
607612
} else if (NULL != param_var->integer_array_value) {
608613
if (NULL != param_var->integer_array_value->values) {
609614
allocator.deallocate(param_var->integer_array_value->values, allocator.state);
610615
}
611616
allocator.deallocate(param_var->integer_array_value, allocator.state);
617+
param_var->integer_array_value = NULL;
612618
} else if (NULL != param_var->double_array_value) {
613619
if (NULL != param_var->double_array_value->values) {
614620
allocator.deallocate(param_var->double_array_value->values, allocator.state);
615621
}
616622
allocator.deallocate(param_var->double_array_value, allocator.state);
623+
param_var->double_array_value = NULL;
617624
} else if (NULL != param_var->string_array_value) {
618625
if (RCUTILS_RET_OK != rcutils_string_array_fini(param_var->string_array_value)) {
619626
// Log and continue ...
620627
RCUTILS_SAFE_FWRITE_TO_STDERR("Error deallocating string array");
621628
}
622629
allocator.deallocate(param_var->string_array_value, allocator.state);
630+
param_var->string_array_value = NULL;
623631
} else {
624632
/// Nothing to do to keep pclint happy
625633
}

0 commit comments

Comments
 (0)