From 4b1d66c1ec060cdfc59faa0972a19826b34ca971 Mon Sep 17 00:00:00 2001 From: drh Date: Thu, 3 Apr 2008 21:42:21 +0000 Subject: [PATCH] Make sure the zTail return from sqlite3_prepare() is initialized even if there is a malloc failure. (CVS 4963) FossilOrigin-Name: 040cffe2727936ce9228666fce5b00db47493e7d --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/tokenize.c | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index 6120bd6aa5..8ebfc302ae 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sto\sthe\sprevious\scheck-in\sso\sthat\sit\sworks\son\sa\sintel\sMac.\s(CVS\s4962) -D 2008-04-03T20:09:07 +C Make\ssure\sthe\szTail\sreturn\sfrom\ssqlite3_prepare()\sis\sinitialized\seven\nif\sthere\sis\sa\smalloc\sfailure.\s(CVS\s4963) +D 2008-04-03T21:42:21 F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7 F Makefile.in b861627d91df5ee422c54237aa38296954dc0151 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -168,7 +168,7 @@ F src/test_schema.c 12c9de7661d6294eec2d57afbb52e2af1128084f F src/test_server.c a6ece6c835e7eae835054124e09e947e422b1ac5 F src/test_tclvar.c b2d1115e4d489179d3f029e765211b2ad527ba59 F src/test_thread.c e297dd41db0b249646e69f97d36ec13e56e8b730 -F src/tokenize.c 13113f94bd1c15dea9e922f08b10f3eee6863474 +F src/tokenize.c d642f36a07e3c38703f52b609f13cd534897a57e F src/trigger.c 9bd3b6fa0beff4a02d262c96466f752ec15a7fc3 F src/update.c 6d5f7728ec254c4a36a06a744f45b232b2eef857 F src/utf.c 8c94fa10efc78c2568d08d436acc59df4df7191b @@ -625,7 +625,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P b4eba9c533f6aac9dde4f2c9796fe02e25158a0f -R b928b7b813c805f78f77a6bd610c37a8 +P 1d67f41c885d052ab10a33892938a85b56882b3d +R fc70bbceae3dbd97e8cb18355cf2864b U drh -Z 09c839b1b6e4ed2895567dfe9b019d99 +Z 2d7d7824dd62626268f381b72c76b1f6 diff --git a/manifest.uuid b/manifest.uuid index d2d3fa58c0..20051a285f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1d67f41c885d052ab10a33892938a85b56882b3d \ No newline at end of file +040cffe2727936ce9228666fce5b00db47493e7d \ No newline at end of file diff --git a/src/tokenize.c b/src/tokenize.c index cd398e6b61..66bced6b62 100644 --- a/src/tokenize.c +++ b/src/tokenize.c @@ -15,7 +15,7 @@ ** individual tokens and sends those tokens one-by-one over to the ** parser for analysis. ** -** $Id: tokenize.c,v 1.139 2008/03/20 14:03:29 drh Exp $ +** $Id: tokenize.c,v 1.140 2008/04/03 21:42:21 drh Exp $ */ #include "sqliteInt.h" #include @@ -394,6 +394,7 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){ db->u1.isInterrupted = 0; } pParse->rc = SQLITE_OK; + pParse->zTail = pParse->zSql = zSql; i = 0; pEngine = sqlite3ParserAlloc((void*(*)(size_t))sqlite3_malloc); if( pEngine==0 ){ @@ -407,7 +408,6 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){ assert( pParse->nVarExpr==0 ); assert( pParse->nVarExprAlloc==0 ); assert( pParse->apVarExpr==0 ); - pParse->zTail = pParse->zSql = zSql; while( !db->mallocFailed && zSql[i]!=0 ){ assert( i>=0 ); pParse->sLastToken.z = (u8*)&zSql[i]; -- 2.47.2