This occurs with O3 in gcc 6 It was previously fixed with commit
bfd2c0eccedf024e2c2baaf8f43ad4d97480ea0d(ovn-nbctl: Always initialize output arguments in *_by_name_or_uuid().) On Sat, Jul 14, 2018 at 1:05 PM, Justin Pettit <jpet...@ovn.org> wrote: > Interesting. I don't see those errors with gcc 7.3.0. I went ahead and > applied the patch to master and backported it to branch-2.9, since it fixes > a problem that you're seeing. > > Thanks, > > --Justin > > > > On Jul 10, 2018, at 11:46 AM, Ian Stokes <ian.sto...@intel.com> wrote: > > > > This commit fixes 'maybe-uninitialized' warnings for pointers in various > > functions in ovn-nbctl when compiling with gcc 6.3.1 and -Werror. > > Pointers to structs nbrec_logical_switch, nbrec_logical_switch_port, > > nbrec_logical_router and nbrec_logical_router_port are now initialized > > to NULL where required. > > > > Cc: Justin Pettit <jpet...@ovn.org> > > Cc: Venkata Anil <vkomm...@redhat.com> > > Fixes: 31114af758c7 ("ovn-nbctl: Update logical router port commands.") > > Fixes: 80f408f4cffb ("ovn: Use Logical_Switch_Port in NB.") > > Fixes: 36f232bca2db ("ovn: l3ha, CLI for logical router port gateway > > chassis") > > Signed-off-by: Ian Stokes <ian.sto...@intel.com> > > --- > > ovn/utilities/ovn-nbctl.c | 66 +++++++++++++++++++++++------- > ----------------- > > 1 file changed, 33 insertions(+), 33 deletions(-) > > > > diff --git a/ovn/utilities/ovn-nbctl.c b/ovn/utilities/ovn-nbctl.c > > index a98eacf..bca588a 100644 > > --- a/ovn/utilities/ovn-nbctl.c > > +++ b/ovn/utilities/ovn-nbctl.c > > @@ -885,7 +885,7 @@ nbctl_ls_del(struct ctl_context *ctx) > > { > > bool must_exist = !shash_find(&ctx->options, "--if-exists"); > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch *ls; > > + const struct nbrec_logical_switch *ls = NULL; > > > > char *error = ls_by_name_or_uuid(ctx, id, must_exist, &ls); > > if (error) { > > @@ -986,7 +986,7 @@ nbctl_lsp_add(struct ctl_context *ctx) > > { > > bool may_exist = shash_find(&ctx->options, "--may-exist") != NULL; > > > > - const struct nbrec_logical_switch *ls; > > + const struct nbrec_logical_switch *ls = NULL; > > char *error = ls_by_name_or_uuid(ctx, ctx->argv[1], true, &ls); > > if (error) { > > ctx->error = error; > > @@ -1113,7 +1113,7 @@ static void > > nbctl_lsp_del(struct ctl_context *ctx) > > { > > bool must_exist = !shash_find(&ctx->options, "--if-exists"); > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, ctx->argv[1], must_exist, > &lsp); > > if (error) { > > @@ -1170,7 +1170,7 @@ nbctl_lsp_list(struct ctl_context *ctx) > > static void > > nbctl_lsp_get_parent(struct ctl_context *ctx) > > { > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, ctx->argv[1], true, &lsp); > > if (error) { > > @@ -1184,7 +1184,7 @@ nbctl_lsp_get_parent(struct ctl_context *ctx) > > static void > > nbctl_lsp_get_tag(struct ctl_context *ctx) > > { > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, ctx->argv[1], true, &lsp); > > if (error) { > > @@ -1199,7 +1199,7 @@ static void > > nbctl_lsp_set_addresses(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, id, true, &lsp); > > if (error) { > > @@ -1229,7 +1229,7 @@ static void > > nbctl_lsp_get_addresses(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > struct svec addresses; > > const char *mac; > > size_t i; > > @@ -1254,7 +1254,7 @@ static void > > nbctl_lsp_set_port_security(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, id, true, &lsp); > > if (error) { > > @@ -1268,7 +1268,7 @@ static void > > nbctl_lsp_get_port_security(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > struct svec addrs; > > const char *addr; > > size_t i; > > @@ -1292,7 +1292,7 @@ static void > > nbctl_lsp_get_up(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, id, true, &lsp); > > if (error) { > > @@ -1323,7 +1323,7 @@ nbctl_lsp_set_enabled(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > const char *state = ctx->argv[2]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, id, true, &lsp); > > if (error) { > > @@ -1341,7 +1341,7 @@ static void > > nbctl_lsp_get_enabled(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, id, true, &lsp); > > if (error) { > > @@ -1356,7 +1356,7 @@ nbctl_lsp_set_type(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > const char *type = ctx->argv[2]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, id, true, &lsp); > > if (error) { > > @@ -1376,7 +1376,7 @@ static void > > nbctl_lsp_get_type(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, id, true, &lsp); > > if (error) { > > @@ -1389,7 +1389,7 @@ static void > > nbctl_lsp_set_options(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > size_t i; > > struct smap options = SMAP_INITIALIZER(&options); > > > > @@ -1416,7 +1416,7 @@ static void > > nbctl_lsp_get_options(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > struct smap_node *node; > > > > char *error = lsp_by_name_or_uuid(ctx, id, true, &lsp); > > @@ -1432,7 +1432,7 @@ static void > > nbctl_lsp_set_dhcpv4_options(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, id, true, &lsp); > > if (error) { > > @@ -1459,7 +1459,7 @@ static void > > nbctl_lsp_set_dhcpv6_options(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, id, true, &lsp); > > if (error) { > > @@ -1486,7 +1486,7 @@ static void > > nbctl_lsp_get_dhcpv4_options(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, id, true, &lsp); > > if (error) { > > @@ -1503,7 +1503,7 @@ static void > > nbctl_lsp_get_dhcpv6_options(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_switch_port *lsp; > > + const struct nbrec_logical_switch_port *lsp = NULL; > > > > char *error = lsp_by_name_or_uuid(ctx, id, true, &lsp); > > if (error) { > > @@ -2321,7 +2321,7 @@ nbctl_lb_list(struct ctl_context *ctx) > > static void > > nbctl_lr_lb_add(struct ctl_context *ctx) > > { > > - const struct nbrec_logical_router *lr; > > + const struct nbrec_logical_router *lr = NULL; > > const struct nbrec_load_balancer *new_lb; > > > > char *error = lr_by_name_or_uuid(ctx, ctx->argv[1], true, &lr); > > @@ -2442,7 +2442,7 @@ nbctl_lr_lb_list(struct ctl_context *ctx) > > static void > > nbctl_ls_lb_add(struct ctl_context *ctx) > > { > > - const struct nbrec_logical_switch *ls; > > + const struct nbrec_logical_switch *ls = NULL; > > const struct nbrec_load_balancer *new_lb; > > > > char *error = ls_by_name_or_uuid(ctx, ctx->argv[1], true, &ls); > > @@ -2607,7 +2607,7 @@ nbctl_lr_del(struct ctl_context *ctx) > > { > > bool must_exist = !shash_find(&ctx->options, "--if-exists"); > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_router *lr; > > + const struct nbrec_logical_router *lr = NULL; > > > > char *error = lr_by_name_or_uuid(ctx, id, must_exist, &lr); > > if (error) { > > @@ -2816,7 +2816,7 @@ normalize_prefix_str(const char *orig_prefix) > > static void > > nbctl_lr_route_add(struct ctl_context *ctx) > > { > > - const struct nbrec_logical_router *lr; > > + const struct nbrec_logical_router *lr = NULL; > > char *error = lr_by_name_or_uuid(ctx, ctx->argv[1], true, &lr); > > if (error) { > > ctx->error = error; > > @@ -2984,7 +2984,7 @@ nbctl_lr_route_del(struct ctl_context *ctx) > > static void > > nbctl_lr_nat_add(struct ctl_context *ctx) > > { > > - const struct nbrec_logical_router *lr; > > + const struct nbrec_logical_router *lr = NULL; > > const char *nat_type = ctx->argv[2]; > > const char *external_ip = ctx->argv[3]; > > const char *logical_ip = ctx->argv[4]; > > @@ -3120,7 +3120,7 @@ nbctl_lr_nat_add(struct ctl_context *ctx) > > static void > > nbctl_lr_nat_del(struct ctl_context *ctx) > > { > > - const struct nbrec_logical_router *lr; > > + const struct nbrec_logical_router *lr = NULL; > > bool must_exist = !shash_find(&ctx->options, "--if-exists"); > > char *error = lr_by_name_or_uuid(ctx, ctx->argv[1], true, &lr); > > if (error) { > > @@ -3318,7 +3318,7 @@ nbctl_lrp_set_gateway_chassis(struct ctl_context > *ctx) > > char *gc_name; > > int64_t priority = 0; > > const char *lrp_name = ctx->argv[1]; > > - const struct nbrec_logical_router_port *lrp; > > + const struct nbrec_logical_router_port *lrp = NULL; > > char *error = lrp_by_name_or_uuid(ctx, lrp_name, true, &lrp); > > if (error) { > > ctx->error = error; > > @@ -3396,7 +3396,7 @@ remove_gc(const struct nbrec_logical_router_port > *lrp, size_t idx) > > static void > > nbctl_lrp_del_gateway_chassis(struct ctl_context *ctx) > > { > > - const struct nbrec_logical_router_port *lrp; > > + const struct nbrec_logical_router_port *lrp = NULL; > > char *error = lrp_by_name_or_uuid(ctx, ctx->argv[1], true, &lrp); > > if (error) { > > ctx->error = error; > > @@ -3426,7 +3426,7 @@ static void > > nbctl_lrp_get_gateway_chassis(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_router_port *lrp; > > + const struct nbrec_logical_router_port *lrp = NULL; > > const struct nbrec_gateway_chassis **gcs; > > size_t i; > > > > @@ -3451,7 +3451,7 @@ nbctl_lrp_add(struct ctl_context *ctx) > > { > > bool may_exist = shash_find(&ctx->options, "--may-exist") != NULL; > > > > - const struct nbrec_logical_router *lr; > > + const struct nbrec_logical_router *lr = NULL; > > char *error = lr_by_name_or_uuid(ctx, ctx->argv[1], true, &lr); > > if (error) { > > ctx->error = error; > > @@ -3619,7 +3619,7 @@ static void > > nbctl_lrp_del(struct ctl_context *ctx) > > { > > bool must_exist = !shash_find(&ctx->options, "--if-exists"); > > - const struct nbrec_logical_router_port *lrp; > > + const struct nbrec_logical_router_port *lrp = NULL; > > > > char *error = lrp_by_name_or_uuid(ctx, ctx->argv[1], must_exist, > &lrp); > > if (error) { > > @@ -3680,7 +3680,7 @@ nbctl_lrp_set_enabled(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > const char *state = ctx->argv[2]; > > - const struct nbrec_logical_router_port *lrp; > > + const struct nbrec_logical_router_port *lrp = NULL; > > > > char *error = lrp_by_name_or_uuid(ctx, id, true, &lrp); > > if (error) { > > @@ -3705,7 +3705,7 @@ static void > > nbctl_lrp_get_enabled(struct ctl_context *ctx) > > { > > const char *id = ctx->argv[1]; > > - const struct nbrec_logical_router_port *lrp; > > + const struct nbrec_logical_router_port *lrp = NULL; > > > > char *error = lrp_by_name_or_uuid(ctx, id, true, &lrp); > > if (error) { > > -- > > 2.7.5 > > > > _______________________________________________ > dev mailing list > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev