Coverity reports that:
1464653 Uninitialized scalar field
The field will contain an arbitrary value left over from earlier
computations.
In ctx_opts::ctx_opts(): A scalar field is not initialized by the
constructor.
uninit_member: Non-static class member hide_help is not initialized
in this constructor nor in any functions that it calls.
In our case it doesn't matter since a nullptr symbol indicates the end
the ctx_opts array. An "unknown" value is added to the context array
and used to initialize the end-of-list item to an invalid value.
Calling the ctx_opts(const char *symbol_, context_type ctx_type_, bool
hide_help_ = false) constructor causes `hide_help` to be initialized.
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: Ie685fef5712705a1938d9e6b8a63d23ab5bc6b39
static struct mi_writer *writer;
/*
- * Taken from the LTTng ABI
+ * Taken from the LTTng ABI except for "UNKNOWN".
*/
enum context_type {
+ CONTEXT_UNKNOWN = -1,
CONTEXT_PID = 0,
CONTEXT_PERF_COUNTER = 1, /* Backward compat. */
CONTEXT_PROCNAME = 2,
const struct ctx_opts {
/* Needed for end-of-list item. */
ctx_opts()
- : symbol(nullptr)
+ : ctx_opts(nullptr, CONTEXT_UNKNOWN)
{}
ctx_opts(const char *symbol_, context_type ctx_type_, bool hide_help_ = false)