goto error;
}
- LTTNG_ASSERT(val);
- field_val->val = strndup(val, size);
+ if (size) {
+ LTTNG_ASSERT(val);
+ field_val->val = strndup(val, size);
+ } else {
+ /*
+ * User code do not expect a NULL string pointer. Populate with
+ * an empty string when length is 0.
+ */
+ field_val->val = strdup("");
+ }
if (!field_val->val) {
goto error;
}