From 7fa5dd1a8f157c02033985baaf7beed90c90ea40 Mon Sep 17 00:00:00 2001 From: danielk1977 Date: Wed, 18 Apr 2007 17:04:00 +0000 Subject: [PATCH] Better handle malloc() failures in the "echo" virtual table test module. (CVS 3855) FossilOrigin-Name: 6881f9212fea0e0a98045b0acc60151eeaf5839e --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/test8.c | 10 +++++++--- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/manifest b/manifest index f4607cc596..0a1e868efb 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C The\ssqlite3_step()\sroutine\sreports\sSQLITE_ERROR\safter\sa\scommit\sfailure,\nnot\sSQLITE_DONE.\s\sThis\sfix\sonly\seffects\sthe\slegacy\ssqlite3_prepare()\ninterface.\s\sIt\salready\sworked\scorrectly\swith\ssqlite3_prepare_v2().\s(CVS\s3854) -D 2007-04-18T16:45:24 +C Better\shandle\smalloc()\sfailures\sin\sthe\s"echo"\svirtual\stable\stest\smodule.\s(CVS\s3855) +D 2007-04-18T17:04:01 F Makefile.in 8cab54f7c9f5af8f22fd97ddf1ecfd1e1860de62 F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -108,7 +108,7 @@ F src/test4.c 8b784cd82de158a2317cb4ac4bc86f91ad315e25 F src/test5.c 7162f8526affb771c4ed256826eee7bb9eca265f F src/test6.c 5957d249d437e4db74045ce2f1f661648d94bf94 F src/test7.c 03fa8d787f6aebc6d1f72504d52f33013ad2c8e3 -F src/test8.c 2af036d73b5ebf1b74d19f36b1b1ab22e1d99df1 +F src/test8.c c3c4aeea4e3d70966306d6eca1b77ce7eee2f059 F src/test9.c cb1a7b5a4a918bb0552fd0101fd3f88d85904cd2 F src/test_async.c 9d326ceda4306bcab252b8f7e8e480ed45d7ccb6 F src/test_autoext.c 855157d97aa28cf84233847548bfacda21807436 @@ -459,7 +459,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 8c6b5adb5c9e0322098e15a162e80a98259d7f60 -R 20d68457fc0935c09f9220d0a08efe2a -U drh -Z 198442dca52a2a4365d24ace578f3316 +P 165dc72d7024258e225c8a7d60118071282f0f44 +R 6e7465e910425674afda9738e811fde0 +U danielk1977 +Z d90521f72ea80e3e9d01ccd5613b499d diff --git a/manifest.uuid b/manifest.uuid index 8f125b5884..a7b04ce4a9 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -165dc72d7024258e225c8a7d60118071282f0f44 \ No newline at end of file +6881f9212fea0e0a98045b0acc60151eeaf5839e \ No newline at end of file diff --git a/src/test8.c b/src/test8.c index d1081d7d39..1267a1ec58 100644 --- a/src/test8.c +++ b/src/test8.c @@ -13,7 +13,7 @@ ** is not included in the SQLite library. It is used for automated ** testing of the SQLite library. ** -** $Id: test8.c,v 1.45 2007/03/30 14:56:35 danielk1977 Exp $ +** $Id: test8.c,v 1.46 2007/04/18 17:04:01 danielk1977 Exp $ */ #include "sqliteInt.h" #include "tcl.h" @@ -269,9 +269,13 @@ static int echoDeclareVtab( -1, &pStmt, 0); sqlite3_bind_text(pStmt, 1, argv[3], -1, 0); if( sqlite3_step(pStmt)==SQLITE_ROW ){ + int rc2; const char *zCreateTable = (const char *)sqlite3_column_text(pStmt, 0); - sqlite3_declare_vtab(db, zCreateTable); - rc = sqlite3_finalize(pStmt); + rc = sqlite3_declare_vtab(db, zCreateTable); + rc2 = sqlite3_finalize(pStmt); + if( rc==SQLITE_OK ){ + rc = rc2; + } } else { rc = sqlite3_finalize(pStmt); if( rc==SQLITE_OK ){