From: Mike Jerris Date: Fri, 11 Nov 2016 20:13:36 +0000 (-0600) Subject: FS-9727: raise size limit on unkown size odbc column data from 256 to 16k X-Git-Tag: v1.8.0~1087 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d045d9c15999deb4a29a61a53662f7ccf49f3768;p=thirdparty%2Ffreeswitch.git FS-9727: raise size limit on unkown size odbc column data from 256 to 16k --- diff --git a/src/switch_odbc.c b/src/switch_odbc.c index 04078c9c5f..cef334fb46 100644 --- a/src/switch_odbc.c +++ b/src/switch_odbc.c @@ -611,13 +611,17 @@ SWITCH_DECLARE(switch_odbc_status_t) switch_odbc_handle_callback_exec_detailed(c SQLDescribeCol(stmt, x, (SQLCHAR *) names[y], (SQLSMALLINT) name_len, &NameLength, &DataType, &ColumnSize, &DecimalDigits, &Nullable); if (!ColumnSize) { - ColumnSize = 255; + SQLCHAR val[16384] = { 0 }; + ColumnSize = 16384; + SQLGetData(stmt, x, SQL_C_CHAR, val, ColumnSize, NULL); + vals[y] = strdup((char *)val); + } else { + ColumnSize++; + + vals[y] = malloc(ColumnSize); + memset(vals[y], 0, ColumnSize); + SQLGetData(stmt, x, SQL_C_CHAR, (SQLCHAR *) vals[y], ColumnSize, NULL); } - ColumnSize++; - - vals[y] = malloc(ColumnSize); - memset(vals[y], 0, ColumnSize); - SQLGetData(stmt, x, SQL_C_CHAR, (SQLCHAR *) vals[y], ColumnSize, NULL); y++; }