Fix the check of the return value from mmap(). Thanks to Corydon for catching

this one.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@59277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2
Russell Bryant 18 years ago
parent ec9fb9a970
commit 653b6f22c5

@ -94,7 +94,7 @@ static void retrieve_file(char *dir)
int res;
int fd=-1;
size_t fdlen = 0;
void *fdm=NULL;
void *fdm = MAP_FAILED;
SQLHSTMT stmt;
char sql[256];
char fmt[80]="";
@ -161,7 +161,7 @@ static void retrieve_file(char *dir)
if (fd > -1)
fdm = mmap(NULL, fdlen, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
}
if (fdm) {
if (fdm != MAP_FAILED) {
memset(fdm, 0, fdlen);
res = SQLGetData(stmt, x + 1, SQL_BINARY, fdm, fdlen, &colsize);
if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
@ -174,7 +174,7 @@ static void retrieve_file(char *dir)
} while (0);
} else
ast_log(LOG_WARNING, "Failed to obtain database object for '%s'!\n", odbc_database);
if (fdm)
if (fdm != MAP_FAILED)
munmap(fdm, fdlen);
if (fd > -1)
close(fd);

Loading…
Cancel
Save