make this safer and fully correct, pointed out by Steve Davis

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@306864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Jeff Peeler 15 years ago
parent dceced3626
commit e9dcd4a9e2

@ -2925,7 +2925,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
@ -2937,7 +2937,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++;
if (option_debug > 3) {

Loading…
Cancel
Save