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;