aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/interfaces/odbc/bind.c3
-rw-r--r--src/interfaces/odbc/statement.c5
2 files changed, 5 insertions, 3 deletions
diff --git a/src/interfaces/odbc/bind.c b/src/interfaces/odbc/bind.c
index 285fabd75ab..67811f39265 100644
--- a/src/interfaces/odbc/bind.c
+++ b/src/interfaces/odbc/bind.c
@@ -124,7 +124,8 @@ static char *func="SQLBindParameter";
}
if (stmt->parameters[ipar].EXEC_buffer) {
- free(stmt->parameters[ipar].EXEC_buffer);
+ if (stmt->parameters[ipar].SQLType != SQL_LONGVARBINARY)
+ free(stmt->parameters[ipar].EXEC_buffer);
stmt->parameters[ipar].EXEC_buffer = NULL;
}
diff --git a/src/interfaces/odbc/statement.c b/src/interfaces/odbc/statement.c
index c11a0ab2169..5aa540ec277 100644
--- a/src/interfaces/odbc/statement.c
+++ b/src/interfaces/odbc/statement.c
@@ -327,7 +327,8 @@ int i;
}
if (self->parameters[i].EXEC_buffer) {
- free(self->parameters[i].EXEC_buffer);
+ if (self->parameters[i].SQLType != SQL_LONGVARBINARY)
+ free(self->parameters[i].EXEC_buffer);
self->parameters[i].EXEC_buffer = NULL;
}
}
@@ -875,7 +876,7 @@ QueryInfo qi;
*/
}
else {
- self->errornumber = STMT_BAD_ERROR;
+ self->errornumber = STMT_EXEC_ERROR;
self->errormsg = "Error while executing the query";
}