]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
automerge commit
authorAutomerge script <automerge@asterisk.org>
Wed, 25 Jan 2006 19:01:09 +0000 (19:01 +0000)
committerAutomerge script <automerge@asterisk.org>
Wed, 25 Jan 2006 19:01:09 +0000 (19:01 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@8675 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_features.c

index 32deae12f223a0276cc03e7ee9660ad81d81976c..97bbdf8eda3f33b2513af6befa944ecd0e0a61e4 100644 (file)
@@ -568,17 +568,17 @@ int reload()
 
 int unload_module()
 {
-       struct feature_pvt *p;
+       struct feature_pvt *p, *prev;
        /* First, take us out of the channel loop */
        ast_cli_unregister(&cli_show_features);
        ast_channel_unregister(&features_tech);
        if (!ast_mutex_lock(&featurelock)) {
                /* Hangup all interfaces if they have an owner */
-               p = features;
-               while(p) {
+               for (p = features; p; p = p->next) {
+                       prev = p;
                        if (p->owner)
                                ast_softhangup(p->owner, AST_SOFTHANGUP_APPUNLOAD);
-                       p = p->next;
+                       free(prev);
                }
                features = NULL;
                ast_mutex_unlock(&featurelock);