Use xzalloc instead of xmalloc for some key structure allocations in
ofproto-dpif (viz. ofproto_dpif, ofport_dpif and rule_dpif) so as to
prevent uninitialized values in these structures. Also add seat belts
around these structure allocations.
Signed-off-by: Sabyasachi Sengupta <sabyasachi.sengu...@alcatel-lucent.com>
---
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index c1daa1d..ae38d4e 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -812,7 +812,10 @@ static int add_internal_flows(struct ofproto_dpif *);
static struct ofproto *
alloc(void)
{
- struct ofproto_dpif *ofproto = xmalloc(sizeof *ofproto);
+ struct ofproto_dpif *ofproto = xzalloc(sizeof *ofproto);
+ if (!ofproto) {
+ return NULL;
+ }
return &ofproto->up;
}
@@ -1608,7 +1611,10 @@ query_tables(struct ofproto *ofproto,
static struct ofport *
port_alloc(void)
{
- struct ofport_dpif *port = xmalloc(sizeof *port);
+ struct ofport_dpif *port = xzalloc(sizeof *port);
+ if (!port) {
+ return NULL;
+ }
return &port->up;
}
@@ -3876,7 +3882,10 @@ static struct rule_dpif *rule_dpif_cast(const struct
rule *rule)
static struct rule *
rule_alloc(void)
{
- struct rule_dpif *rule = xmalloc(sizeof *rule);
+ struct rule_dpif *rule = xzalloc(sizeof *rule);
+ if (!rule) {
+ return NULL;
+ }
return &rule->up;
}
--
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev