secchan: Don't infinite-loop in switch_status_destroy().
authorBen Pfaff <blp@nicira.com>
Wed, 11 Mar 2009 20:41:36 +0000 (13:41 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 11 Mar 2009 20:43:22 +0000 (13:43 -0700)
Duh.

secchan/status.c

index 738c6dc6a6993da055682892423938801b75044c..2ee1a5d5fe562955fa646153a5b2d452277e73c4 100644 (file)
@@ -184,8 +184,9 @@ switch_status_destroy(struct switch_status *ss)
     if (ss) {
         /* Orphan any remaining categories, so that unregistering them later
          * won't write to bad memory. */
-        struct status_category *c;
-        LIST_FOR_EACH (c, struct status_category, node, &ss->categories) {
+        struct status_category *c, *next;
+        LIST_FOR_EACH_SAFE (c, next,
+                            struct status_category, node, &ss->categories) {
             list_init(&c->node);
         }
         switch_status_unregister(ss->config_cat);