Fix minor problems with the SSE hooks. (CVS 2483)
FossilOrigin-Name: 3516ca29da5f28adc1fd4da42ca5551d154b6320
diff --git a/src/main.c b/src/main.c
index 4d6d59d..f247803 100644
--- a/src/main.c
+++ b/src/main.c
@@ -14,7 +14,7 @@
** other files are for internal use by SQLite and should not be
** accessed by users of the library.
**
-** $Id: main.c,v 1.291 2005/05/25 04:11:56 danielk1977 Exp $
+** $Id: main.c,v 1.292 2005/05/26 12:37:30 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include "os.h"
@@ -131,6 +131,10 @@
return SQLITE_MISUSE;
}
+#ifdef SQLITE_SSE
+ sqlite3_finalize(db->pFetch);
+#endif
+
/* If there are any outstanding VMs, return SQLITE_BUSY. */
if( db->pVdbe ){
sqlite3Error(db, SQLITE_BUSY,
@@ -200,10 +204,6 @@
}
#endif
-#ifdef SQLITE_SSE
- sqlite3_finalize(db->pFetch);
-#endif
-
db->magic = SQLITE_MAGIC_ERROR;
sqliteFree(db);
return SQLITE_OK;
diff --git a/src/vdbeaux.c b/src/vdbeaux.c
index 7ed08d4..db619f3 100644
--- a/src/vdbeaux.c
+++ b/src/vdbeaux.c
@@ -353,6 +353,9 @@
if( n==P3_DYNAMIC || n==P3_KEYINFO_HANDOFF ){
sqliteFree((void*)zP3);
}
+ if( n==P3_MEM ){
+ sqlite3ValueFree((sqlite3_value *)zP3);
+ }
return;
}
if( addr<0 || addr>=p->nOp ){