From 9b8a1ad49eb104efccc174a8155e31b81973c052 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Thu, 9 Sep 2021 06:33:12 -0400 Subject: [PATCH 1/3] tests: We follow strict prototyping rules Compiling with -Wstrict-prototypes is causing some complaints during compiling. Make things happy. Signed-off-by: Donald Sharp --- tests/zebra/test_lm_plugin.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/zebra/test_lm_plugin.c b/tests/zebra/test_lm_plugin.c index 4a9344fee4..ecfb085793 100644 --- a/tests/zebra/test_lm_plugin.c +++ b/tests/zebra/test_lm_plugin.c @@ -77,7 +77,7 @@ static int lm_release_chunk_pi(struct zserv *client, uint32_t start, /* use external allocations */ -static void lp_plugin_init() +static void lp_plugin_init(void) { /* register our own hooks */ hook_register(lm_client_connect, test_client_connect); @@ -86,7 +86,7 @@ static void lp_plugin_init() hook_register(lm_release_chunk, lm_release_chunk_pi); } -static void lp_plugin_cleanup() +static void lp_plugin_cleanup(void) { /* register our own hooks */ hook_unregister(lm_client_connect, test_client_connect); @@ -98,7 +98,7 @@ static void lp_plugin_cleanup() /* tests */ -static void test_lp_plugin() +static void test_lp_plugin(void) { struct label_manager_chunk *lmc; From e81a74a64255913e529455ff16ab1f64ea1cca39 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Thu, 9 Sep 2021 09:02:12 -0400 Subject: [PATCH 2/3] pathd: Ensure node_src_id is inited before usage Compiler is warning that node_src_id may be used uninited we know this is not possible but the compiler doesn't. Signed-off-by: Donald Sharp --- pathd/path_cli.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pathd/path_cli.c b/pathd/path_cli.c index bd629a2b70..46242fd05a 100644 --- a/pathd/path_cli.c +++ b/pathd/path_cli.c @@ -352,7 +352,16 @@ static int segment_list_has_src_dst( nb_cli_enqueue_change(vty, xpath, NB_OP_MODIFY, "ipv6_adjacency"); node_src_id = adj_src_ipv6_str; + } else { + /* + * This is just to make the compiler happy about + * node_src_id not being initialized. This + * should never happen unless we change the cli + * function. + */ + assert(!"We must have a adj_src_ipv4_str or a adj_src_ipv6_str"); } + /* addresses */ snprintf(xpath, XPATH_MAXLEN, "./segment[index='%s']/nai/local-address", index_str); From 75fef2a4da15bb388c505cc788eed8fa1ca1beb5 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Thu, 9 Sep 2021 09:09:31 -0400 Subject: [PATCH 3/3] isisd: Remove weird wrapper function that downgrades time_t to 32 bit Just use time_t, instead of downgrading time_t to a 32 bit value. We should be using time_t instead of 32 bit unsigned values. Signed-off-by: Donald Sharp --- isisd/isis_snmp.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/isisd/isis_snmp.c b/isisd/isis_snmp.c index d530faa151..c530eb9169 100644 --- a/isisd/isis_snmp.c +++ b/isisd/isis_snmp.c @@ -283,13 +283,6 @@ SNMP_LOCAL_VARIABLES * * 2. I could be replaced in unit test environment */ -#ifndef ISIS_SNMP_HAVE_TIME_FUNC -static uint32_t isis_snmp_time(void) -{ - return (uint32_t)time(NULL); -} - -#endif /* ISIS-MIB instances. */ static oid isis_oid[] = {ISIS_MIB}; @@ -2083,7 +2076,7 @@ static uint8_t *isis_snmp_find_circ(struct variable *v, oid *name, struct isis_circuit *circuit; uint32_t up_ticks; uint32_t delta_ticks; - uint32_t now_time; + time_t now_time; int res; *write_method = NULL; @@ -2191,7 +2184,7 @@ static uint8_t *isis_snmp_find_circ(struct variable *v, oid *name, return SNMP_INTEGER(0); up_ticks = (uint32_t)netsnmp_get_agent_uptime(); - now_time = isis_snmp_time(); + now_time = time(NULL); if (circuit->last_uptime >= now_time) return SNMP_INTEGER(up_ticks); @@ -2501,11 +2494,11 @@ static uint8_t *isis_snmp_find_isadj(struct variable *v, oid *name, oid *oid_idx; size_t oid_idx_len; int res; - uint32_t val; + time_t val; struct isis_adjacency *adj; uint32_t up_ticks; uint32_t delta_ticks; - uint32_t now_time; + time_t now_time; *write_method = NULL; @@ -2577,7 +2570,7 @@ static uint8_t *isis_snmp_find_isadj(struct variable *v, oid *name, * It seems that we want remaining timer */ if (adj->last_upd != 0) { - val = isis_snmp_time(); + val = time(NULL); if (val < (adj->last_upd + adj->hold_time)) return SNMP_INTEGER(adj->last_upd + adj->hold_time - val); @@ -2594,7 +2587,7 @@ static uint8_t *isis_snmp_find_isadj(struct variable *v, oid *name, up_ticks = (uint32_t)netsnmp_get_agent_uptime(); - now_time = isis_snmp_time(); + now_time = time(NULL); if (adj->last_flap >= now_time) return SNMP_INTEGER(up_ticks); @@ -2853,7 +2846,7 @@ static int isis_snmp_trap_throttle(oid trap_id) if (isis == NULL || !isis->snmp_notifications || !smux_enabled()) return 0; - time_now = isis_snmp_time(); + time_now = time(NULL); if ((isis_snmp_trap_timestamp[trap_id] + 5) > time_now) /* Throttle trap rate at 1 in 5 secs */