]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
prevent crash with some extra checks while doing authentication (bug #3686)
authorRussell Bryant <russell@russellbryant.com>
Wed, 2 Mar 2005 22:24:02 +0000 (22:24 +0000)
committerRussell Bryant <russell@russellbryant.com>
Wed, 2 Mar 2005 22:24:02 +0000 (22:24 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@5121 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_voicemail.c

index 8f6b185461a1f95dab51c1bf6fc8901610acbea3..0f422d96bda1eb3d8917d8f975554e953f57d894 100755 (executable)
@@ -3411,15 +3411,20 @@ static int vm_execmain(struct ast_channel *chan, void *data)
                logretries++;
                if (!valid) {
                        if (skipuser || logretries >= maxlogins) {
-                               if (ast_streamfile(chan, "vm-incorrect", chan->language))
-                                       break;
+                               if (ast_streamfile(chan, "vm-incorrect", chan->language)) {
+                                       ast_log(LOG_WARNING, "Unable to stream incorrect message\n");
+                                       return -1;
+                               }
                        } else {
                                if (useadsi)
                                        adsi_login(chan);
-                               if (ast_streamfile(chan, "vm-incorrect-mailbox", chan->language))
-                                       break;
+                               if (ast_streamfile(chan, "vm-incorrect-mailbox", chan->language)) {
+                                       ast_log(LOG_WARNING, "Unable to stream incorrect mailbox message\n");
+                                       return -1;
+                               }
                        }
-                       ast_waitstream(chan, "");
+                       if (ast_waitstream(chan, ""))   /* Channel is hung up */
+                               return -1;
                }
        }
        if (!valid && (logretries >= maxlogins)) {