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

Reply via email to