[asterisk-commits] tilghman: branch 1.2 r51158 -
/branches/1.2/apps/app_voicemail.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Tue Jan 16 14:26:07 MST 2007
Author: tilghman
Date: Tue Jan 16 15:26:06 2007
New Revision: 51158
URL: http://svn.digium.com/view/asterisk?view=rev&rev=51158
Log:
Postgres driver doesn't like a NULL pointer when retrieving the length (Bug 8513)
Modified:
branches/1.2/apps/app_voicemail.c
Modified: branches/1.2/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/branches/1.2/apps/app_voicemail.c?view=diff&rev=51158&r1=51157&r2=51158
==============================================================================
--- branches/1.2/apps/app_voicemail.c (original)
+++ branches/1.2/apps/app_voicemail.c Tue Jan 16 15:26:06 2007
@@ -932,7 +932,7 @@
}
if (!strcasecmp(coltitle, "recording")) {
off_t offset;
- res = SQLGetData(stmt, x + 1, SQL_BINARY, NULL, 0, &colsize);
+ res = SQLGetData(stmt, x + 1, SQL_BINARY, rowdata, 0, &colsize);
fdlen = colsize;
if (fd > -1) {
char tmp[1]="";
@@ -944,14 +944,13 @@
}
/* Read out in small chunks */
for (offset = 0; offset < colsize; offset += CHUNKSIZE) {
- /* +1 because SQLGetData likes null-terminating binary data */
- if ((fdm = mmap(NULL, CHUNKSIZE + 1, PROT_READ | PROT_WRITE, MAP_SHARED, fd, offset)) == -1) {
+ if ((fdm = mmap(NULL, CHUNKSIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, offset)) == (void *)-1) {
ast_log(LOG_WARNING, "Could not mmap the output file: %s (%d)\n", strerror(errno), errno);
SQLFreeHandle(SQL_HANDLE_STMT, stmt);
goto yuck;
} else {
- res = SQLGetData(stmt, x + 1, SQL_BINARY, fdm, CHUNKSIZE + 1, NULL);
- munmap(fdm, 0);
+ res = SQLGetData(stmt, x + 1, SQL_BINARY, fdm, CHUNKSIZE, NULL);
+ munmap(fdm, CHUNKSIZE);
if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
ast_log(LOG_WARNING, "SQL Get Data error!\n[%s]\n\n", sql);
unlink(full_fn);
More information about the asterisk-commits
mailing list