[ovs-dev] [eviction 09/12] ofproto: Make ofproto_rule_destroy__() do nothing for a null argument.
Ben Pfaff
blp at nicira.com
Sat Jan 14 00:43:50 UTC 2012
This is our customary way to implement a "destroy" function. It allows
a minor simplification in ofoperation_complete().
Signed-off-by: Ben Pfaff <blp at nicira.com>
---
ofproto/ofproto.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
index cc309b3..abaa8f7 100644
--- a/ofproto/ofproto.c
+++ b/ofproto/ofproto.c
@@ -1655,8 +1655,10 @@ set_internal_devs_mtu(struct ofproto *p)
static void
ofproto_rule_destroy__(struct rule *rule)
{
- free(rule->actions);
- rule->ofproto->ofproto_class->rule_dealloc(rule);
+ if (rule) {
+ free(rule->actions);
+ rule->ofproto->ofproto_class->rule_dealloc(rule);
+ }
}
/* This function allows an ofproto implementation to destroy any rules that
@@ -3277,9 +3279,7 @@ ofoperation_complete(struct ofoperation *op, enum ofperr error)
switch (op->type) {
case OFOPERATION_ADD:
if (!error) {
- if (op->victim) {
- ofproto_rule_destroy__(op->victim);
- }
+ ofproto_rule_destroy__(op->victim);
if ((rule->cr.wc.vlan_tci_mask & htons(VLAN_VID_MASK))
== htons(VLAN_VID_MASK)) {
if (ofproto->vlan_bitmap) {
--
1.7.2.5
More information about the dev
mailing list