summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorByron Nikolaidis1999-10-25 01:11:44 +0000
committerByron Nikolaidis1999-10-25 01:11:44 +0000
commitc4c8e812b4ed3f50f4701169c4e302c7aeb8a548 (patch)
tree7b566c5281ccb6719b2f5d5848f5b5c1e4671b10
parenteae456cd7fcdc5de759b38ef1d114f7770775483 (diff)
bug fix for large objects (free)
-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";
}