bgpd, zebra: fix struct/pointer sizeof mixups
Two places were taking sizeof(pointer) instead of the sizeof(struct),
while performing operations on the struct. Both are initialisation
functions; I guess we haven't seen fallout since they weren't critical.
Fix anyway.
[v2: fix mistake that actually broke bgpd RS workqueue init]
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index e7357e5..cd2737c 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -1666,9 +1666,10 @@
bm->process_main_queue->spec.max_retries = 0;
bm->process_main_queue->spec.hold = 50;
- memcpy (bm->process_rsclient_queue, bm->process_main_queue,
- sizeof (struct work_queue *));
bm->process_rsclient_queue->spec.workfunc = &bgp_process_rsclient;
+ bm->process_rsclient_queue->spec.del_item_data = &bgp_processq_del;
+ bm->process_rsclient_queue->spec.max_retries = 0;
+ bm->process_rsclient_queue->spec.hold = 50;
}
void
diff --git a/zebra/router-id.c b/zebra/router-id.c
index 94a2941..bfafc27 100644
--- a/zebra/router-id.c
+++ b/zebra/router-id.c
@@ -245,8 +245,8 @@
install_element (CONFIG_NODE, &router_id_cmd);
install_element (CONFIG_NODE, &no_router_id_cmd);
- memset (rid_all_sorted_list, 0, sizeof (rid_all_sorted_list));
- memset (rid_lo_sorted_list, 0, sizeof (rid_lo_sorted_list));
+ memset (rid_all_sorted_list, 0, sizeof (*rid_all_sorted_list));
+ memset (rid_lo_sorted_list, 0, sizeof (*rid_lo_sorted_list));
memset (&rid_user_assigned, 0, sizeof (rid_user_assigned));
rid_all_sorted_list->cmp = router_id_cmp;