mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-07 18:38:02 +00:00
Merged revisions 212627 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r212627 | tilghman | 2009-08-17 14:57:42 -0500 (Mon, 17 Aug 2009) | 4 lines 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/branches/1.6.1@212630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -3447,7 +3447,10 @@ static int last_message_index(struct ast_vm_user *vmu, char *dir)
|
|||||||
* doing a stat repeatedly on a predicted sequence. I suspect this
|
* doing a stat repeatedly on a predicted sequence. I suspect this
|
||||||
* is partially due to stat(2) internally doing a readdir(2) itself to
|
* is partially due to stat(2) internally doing a readdir(2) itself to
|
||||||
* find each file. */
|
* find each file. */
|
||||||
msgdir = opendir(dir);
|
if (!(msgdir = opendir(dir))) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
while ((msgdirent = readdir(msgdir))) {
|
while ((msgdirent = readdir(msgdir))) {
|
||||||
if (sscanf(msgdirent->d_name, "msg%30d", &msgdirint) == 1 && msgdirint < MAXMSGLIMIT)
|
if (sscanf(msgdirent->d_name, "msg%30d", &msgdirint) == 1 && msgdirint < MAXMSGLIMIT)
|
||||||
map[msgdirint] = 1;
|
map[msgdirint] = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user