From 59502582b3aa4d7894458ecc5a0171afb975f615 Mon Sep 17 00:00:00 2001 From: Jeff Peeler Date: Tue, 8 Feb 2011 16:21:45 +0000 Subject: [PATCH] Merged revisions 306865 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r306865 | jpeeler | 2011-02-08 10:21:25 -0600 (Tue, 08 Feb 2011) | 9 lines Merged revisions 306864 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r306864 | jpeeler | 2011-02-08 10:19:17 -0600 (Tue, 08 Feb 2011) | 1 line make this safer and fully correct, pointed out by Steve Davis ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@306866 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_voicemail.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 166df4c94a..aab22ae96b 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -3923,7 +3923,7 @@ static int last_message_index(struct ast_vm_user *vmu, char *dir) DIR *msgdir; struct dirent *msgdirent; int msgdirint; - char extension[3]; + char extension[4]; int stopcount = 0; /* Reading the entire directory into a file map scales better than @@ -3935,7 +3935,7 @@ static int last_message_index(struct ast_vm_user *vmu, char *dir) } while ((msgdirent = readdir(msgdir))) { - if (sscanf(msgdirent->d_name, "msg%30d.%3s", &msgdirint, extension) == 2 && msgdirint < MAXMSGLIMIT && !strcmp(extension, "txt")) { + if (!strcmp(extension, "txt") && msgdirint < MAXMSGLIMIT && sscanf(msgdirent->d_name, "msg%10d.%3s", &msgdirint, extension) == 2) { map[msgdirint] = 1; stopcount++; ast_debug(4, "%s map[%d] = %d, count = %d\n", dir, msgdirint, map[msgdirint], stopcount);