diff options
-rw-r--r-- | src/interfaces/odbc/bind.c | 3 | ||||
-rw-r--r-- | src/interfaces/odbc/statement.c | 5 |
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"; } |