Check the return value of opendir(3), or we may crash.

(closes issue #15720)
 Reported by: tobias_e


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@212627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
certified/1.8.6
Tilghman Lesher 16 years ago
parent 4c47fce62e
commit c2612973d0

@ -3576,7 +3576,10 @@ static int last_message_index(struct ast_vm_user *vmu, char *dir)
* doing a stat repeatedly on a predicted sequence. I suspect this
* is partially due to stat(2) internally doing a readdir(2) itself to
* find each file. */
msgdir = opendir(dir);
if (!(msgdir = opendir(dir))) {
return -1;
}
while ((msgdirent = readdir(msgdir))) {
if (sscanf(msgdirent->d_name, "msg%30d", &msgdirint) == 1 && msgdirint < MAXMSGLIMIT)
map[msgdirint] = 1;

Loading…
Cancel
Save