diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 8cce2d3f62..92af3ce621 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -3935,7 +3935,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);