The API documentation of bt_field_string_clear() says:
> Clears the string field `field`, making its value an empty string.
clear_string_field(), called by bt_field_string_clear(), sets the string
field's buffer's length to 0 without setting its first character to 0 to
make the string field empty from bt_field_string_get_value()'s point of
view.
This patch makes clear_string_field() also set the string field's
buffer's first character to 0.
Reported by Brice Videau (@Kerilk) in
<https://github.com/efficios/babeltrace/pull/116>.
Reported-by: Brice Videau <bvideau@anl.gov>
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Change-Id: I964599ecfbea33a7cb583dcf7cf25e6cffbc30b6
Reviewed-on: https://review.lttng.org/c/babeltrace/+/4528
Tested-by: jenkins <jenkins@lttng.org>
Reviewed-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
(cherry picked from commit
0022a87819b0908869f99e08925d2d71c150b285)
Reviewed-on: https://review.lttng.org/c/babeltrace/+/10010
CI-Build: Simon Marchi <simon.marchi@efficios.com>
BT_ASSERT_DBG(field);
string_field->length = 0;
+ g_array_index(string_field->buf, char, 0) = '\0';
bt_field_set_single(field, true);
}