Failing to trap -1 error from mmap causes segfault (Issue 8385)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@47862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Tilghman Lesher
2006-11-20 19:59:07 +00:00
parent 426bdb3b17
commit 0e783db690

View File

@@ -935,8 +935,13 @@ static int retrieve_file(char *dir, int msgnum)
fd = -1;
continue;
}
if (fd > -1)
fdm = mmap(NULL, fdlen, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if (fd > -1) {
if ((fdm = mmap(NULL, fdlen, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)) == -1) {
ast_log(LOG_WARNING, "Could not mmap the output file: %s (%d)\n", strerror(errno), errno);
SQLFreeHandle(SQL_HANDLE_STMT, stmt);
goto yuck;
}
}
}
if (fdm) {
memset(fdm, 0, fdlen);