An evaluation payload view is created from the view passed to
lttng_evaluation_create_from_payload. Since a view contains a const
copy of the _fds array, it must be initialized as the declaration site.
However, src_view is checked for NULL after the initalization. Coverity
rightfully warns that:
1429799 Dereference before null check
There may be a null pointer dereference, or else the comparison against
null is unnecessary.
In lttng_evaluation_create_from_payload: All paths that lead to this
null pointer comparison already dereference the pointer
earlier (CWE-476)
This is not reachable right now, but it is fixed to silence the warning
and prevent future mistakes.
Reported-by: Coverity Scan
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I3ceace4117ff54265b1f0cf6a4c638aec95f2879
{
ssize_t ret, evaluation_size = 0;
const struct lttng_evaluation_comm *evaluation_comm;
- struct lttng_payload_view evaluation_view =
- lttng_payload_view_from_view(
- src_view, sizeof(*evaluation_comm), -1);
+ struct lttng_payload_view evaluation_view = src_view ?
+ lttng_payload_view_from_view(src_view,
+ sizeof(*evaluation_comm), -1) :
+ (typeof(evaluation_view)) {};
if (!src_view || !evaluation) {
ret = -1;