aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2011-02-08 16:21:25 +0000
committerjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2011-02-08 16:21:25 +0000
commit08a0076e2f91dae032aa726e91cfc16ef8530fd4 (patch)
tree89c8d39e7fc3a9b07f97c3dc6bee1c0e1b0ef3bd
parent430b345ec2a791bd8df7cffc53699fc5c1021af8 (diff)
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: http://svn.digium.com/svn/asterisk/branches/1.6.2@306865 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--apps/app_voicemail.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 12be8153f..504794bfd 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -3762,7 +3762,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
@@ -3774,7 +3774,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);