zero initialize busses
Busses were not being fully initialized causing
bus->tx_queue_head to be set to bad data, and on calling
mctp_binding_set_tx_enabled and the first pkt being
dereferenced in mctp_pktbuf_size a segfault would happen.
We can fix this by just zero initializing the memory
after the malloc.
Change-Id: I50427aabfebd6eceb0304d580e0048fccd132790
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/core.c b/core.c
index 61356e9..f8abbb1 100644
--- a/core.c
+++ b/core.c
@@ -252,6 +252,7 @@
assert(mctp->n_busses == 0);
mctp->n_busses = 1;
mctp->busses = __mctp_alloc(sizeof(struct mctp_bus));
+ memset(mctp->busses, 0, sizeof(struct mctp_bus));
mctp->busses[0].binding = binding;
mctp->busses[0].eid = eid;
binding->bus = &mctp->busses[0];
@@ -269,6 +270,7 @@
{
assert(mctp->n_busses == 0);
mctp->busses = __mctp_alloc(2 * sizeof(struct mctp_bus));
+ memset(mctp->busses, 0, 2 * sizeof(struct mctp_bus));
mctp->n_busses = 2;
mctp->busses[0].binding = b1;
b1->bus = &mctp->busses[0];