Merged revisions 306967 via svnmerge from
[asterisk/asterisk.git] / apps / app_voicemail.c
index 8b26a60..e4fa608 100644 (file)
@@ -3928,7 +3928,7 @@ static int last_message_index(struct ast_vm_user *vmu, char *dir)
        }
 
        while ((msgdirent = readdir(msgdir))) {
-               if (!strcmp(extension, "txt") && msgdirint < MAXMSGLIMIT && sscanf(msgdirent->d_name, "msg%10d.%3s", &msgdirint, extension) == 2) {
+               if (sscanf(msgdirent->d_name, "msg%30d.%3s", &msgdirint, extension) == 2 && !strcmp(extension, "txt") && msgdirint < MAXMSGLIMIT) {
                        map[msgdirint] = 1;
                        stopcount++;
                        ast_debug(4, "%s map[%d] = %d, count = %d\n", dir, msgdirint, map[msgdirint], stopcount);