secchan: Fix bad pointer dereference sending flow expirations.
authorBen Pfaff <blp@nicira.com>
Mon, 14 Sep 2009 20:37:00 +0000 (13:37 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 14 Sep 2009 20:37:08 +0000 (13:37 -0700)
secchan/ofproto.c

index 6097d57f11acc3e25599abbf5e62f67da32775a9..105e43e6b72c2d658d21c0f4d66f045e47a9a614 100644 (file)
@@ -3157,7 +3157,7 @@ send_flow_exp(struct ofproto *p, struct rule *rule,
     LIST_FOR_EACH (ofconn, struct ofconn, node, &p->all_conns) {
         if (ofconn->send_flow_exp && rconn_is_connected(ofconn->rconn)) {
             if (prev) {
-                queue_tx(ofpbuf_clone(buf), prev, ofconn->reply_counter);
+                queue_tx(ofpbuf_clone(buf), prev, prev->reply_counter);
             } else {
                 buf = compose_flow_exp(rule, now, reason);
             }
@@ -3165,7 +3165,7 @@ send_flow_exp(struct ofproto *p, struct rule *rule,
         }
     }
     if (prev) {
-        queue_tx(buf, prev, ofconn->reply_counter);
+        queue_tx(buf, prev, prev->reply_counter);
     }
 }