value_view can be NULL and must thus be checked before use.
Moreover, the fix introduced in
1ad5cb59 is erreneous: the
function must validate that either:
- value is a 'name' type, value_view is not null, and not len == 0,
- value is an integer and value_view does not contain more data.
In process_attr_value_from_comm: Pointer is checked against null but
then dereferenced anyway (CWE-476)
Reported-by: Coverity Scan
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: Ia130ef57e10118960f1023338b90f7a10d588ee2
}
/* Only expect a payload for name value types. */
- if (is_value_type_name(value_type) && value_view->size == 0) {
+ if (is_value_type_name(value_type) &&
+ (!value_view || value_view->size == 0)) {
ret = LTTNG_ERR_INVALID_PROTOCOL;
goto error;
} else if (!is_value_type_name(value_type) && value_view &&