Skip to content

Commit

Permalink
ovn-nbctl: Initialize arguments to avoid compilation warnings.
Browse files Browse the repository at this point in the history
Output arguments for parse_priority() and dhcp_options_get() may not be
initialized when either function returns an error.

This causes compilation warnings for GCC 6.3.x regarding use of
uninitialized variable use and null-pointer-arithmetic.

Fix this by initializing priority_p* value to 0 for priority_parse()
when an error occurs during parsing.

For dhcp_options_get() set *dhcp_opts_p = dhcp_opts regardless as
dhcp_opts will be equal to NULL when an error occurs within the function
anyhow.

Cc: Jakub Sitnicki <[email protected]>
Fixes: 3844c85 ("ovn-nbctl: Don't die in dhcp_options_get()."
Fixes: bc8223d ("ovn-nbctl: Don't die in parse_priority().")
Signed-off-by: Ian Stokes <[email protected]>
Signed-off-by: Ben Pfaff <[email protected]>
Acked-by: Jakub Sitnicki <[email protected]>
  • Loading branch information
istokes authored and blp committed Jul 31, 2018
1 parent 82b261b commit 14faed5
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion ovn/utilities/ovn-nbctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1879,6 +1879,9 @@ parse_priority(const char *arg, int64_t *priority_p)
int64_t priority;
if (!ovs_scan(arg, "%"SCNd64, &priority)
|| priority < 0 || priority > 32767) {
/* Priority_p could be uninitialized as no valid priority was
* input, initialize it to a valid value of 0 before returning */
*priority_p = 0;
return xasprintf("%s: priority must in range 0...32767", arg);
}
*priority_p = priority;
Expand Down Expand Up @@ -3043,10 +3046,11 @@ dhcp_options_get(struct ctl_context *ctx, const char *id, bool must_exist,
dhcp_opts = nbrec_dhcp_options_get_for_uuid(ctx->idl, &dhcp_opts_uuid);
}

*dhcp_opts_p = dhcp_opts;
if (!dhcp_opts && must_exist) {
return xasprintf("%s: dhcp options UUID not found", id);
}
*dhcp_opts_p = dhcp_opts;

return NULL;
}

Expand Down

0 comments on commit 14faed5

Please sign in to comment.