[ please Cc: me in replies, I am not subscribed and my attempt to subscribe hits "Bug in Mailman version 2.1.29" .]
Hello Al, > certain fields are only used for static vs dynamic addresses, so only > specific ones need to be initialized as long as things are programmed > correctly. > > IIRC, the patch below fixed the mistake that I used "source" instead of > "source_type" for dynamic addresses. that's my point - the patch below initializes "source_type" and leaves "source" uninitialized, but then it keeps using "ipv6_data.source". To me, the patch seems incomplete and get_dynamic_address_source_type_string (ipv6_data.source)) < 0) looks like it should be changed to get_dynamic_address_source_type_string (ipv6_data.source_type)) < 0) What do you think? If not, I don't see where does ipv6_data.source get initialized. Regards, Pavel On Tue, Feb 20, 2024 at 05:03:46PM +0100, Pavel Cahyna wrote: > Hello, > > I have a question about this commit: > > commit 478ffaa7d2ffe240a0afaf9d7d5189342c94bd4d > Author: Albert Chu <ch...@llnl.gov> > Date: Wed Jan 26 21:48:47 2022 -0800 > > ipmi-config: correct IPv6 dynamic address checkout error > > > It contains this change: > > ----- > @@ -1089,15 +1090,15 @@ _get_ipv6_dynamic_address (ipmi_config_state_data_t > *state_data, > goto cleanup; > } > > - if (FIID_OBJ_GET (obj_cmd_rs, "source", &val) < 0) > + if (FIID_OBJ_GET (obj_cmd_rs, "source_type", &val) < 0) > { > pstdout_fprintf (state_data->pstate, > stderr, > - "fiid_obj_get: 'source': %s\n", > + "fiid_obj_get: 'source_type': %s\n", > fiid_obj_errormsg (obj_cmd_rs)); > goto cleanup; > } > - ipv6_data->source = val; > + ipv6_data->source_type = val; > > if (fiid_obj_get_data (obj_cmd_rs, > "address", > ----- > > > which, IIUC, leaves ipv6_data->source uninitialized. > > It then contains this change: > ----- > @@ -1186,7 +1187,7 @@ ipv6_dynamic_address_source_checkout > (ipmi_config_state_data_t *state_data, > > if (ipmi_config_section_update_keyvalue_output (state_data, > kv, > - > get_dynamic_address_source_string (ipv6_data.source)) < 0) > + > get_dynamic_address_source_type_string (ipv6_data.source)) < 0) > return (IPMI_CONFIG_ERR_FATAL_ERROR); > > rv = IPMI_CONFIG_ERR_SUCCESS; > ----- > > which keeps using ipv6_data.source, which looks uninitialized. This looks > suspect, but I admit I > don't really understand the code. > > Best regards, Pavel