Changeset: 20d392e6f109 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=20d392e6f109
Modified Files:
clients/odbc/driver/ODBCConvert.c
clients/odbc/driver/ODBCUtil.h
Branch: Jan2014
Log Message:
Accept NULL pointer in wide character arguments.
This fixes bug 3500.
diffs (31 lines):
diff --git a/clients/odbc/driver/ODBCConvert.c
b/clients/odbc/driver/ODBCConvert.c
--- a/clients/odbc/driver/ODBCConvert.c
+++ b/clients/odbc/driver/ODBCConvert.c
@@ -2831,6 +2831,13 @@ ODBCStore(ODBCStmt *stmt,
case SQL_C_WCHAR:
slen = strlen_or_ind_ptr ? *strlen_or_ind_ptr : SQL_NTS;
fixWcharIn((SQLWCHAR *) ptr, slen, char, sval, addStmtError,
stmt, return SQL_ERROR);
+ if (sval == NULL) {
+ sval = strdup("");
+ if (sval == NULL) {
+ addStmtError(stmt, "HY001", NULL, 0);
+ return SQL_ERROR;
+ }
+ }
slen = strlen(sval);
break;
case SQL_C_BIT:
diff --git a/clients/odbc/driver/ODBCUtil.h b/clients/odbc/driver/ODBCUtil.h
--- a/clients/odbc/driver/ODBCUtil.h
+++ b/clients/odbc/driver/ODBCUtil.h
@@ -110,10 +110,6 @@ extern char *ODBCutf82wchar(const SQLCHA
do { \
char *e; \
(s) = (t *) ODBCwchar2utf8((ws), (wsl), &e); \
- if ((s) == NULL) { \
- errfunc((hdl), "HY001", NULL, 0); \
- exit; \
- } \
if (e) { \
/* General error */ \
errfunc((hdl), \
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list