Fix a segfault following OOM that was introduced by check-in (6949) which

was a fix for ticket #3997. (CVS 6954)

FossilOrigin-Name: 359d78e144c2399791d341eda1760eb486f9740a
This commit is contained in:
drh 2009-08-01 15:09:58 +00:00
parent a147a9ea37
commit 38210ac500
3 changed files with 10 additions and 10 deletions

View File

@ -1,5 +1,5 @@
C Increment\sthe\sversion\snumber\sin\spreparation\sfor\sthe\snext\srelease.\s(CVS\s6953)
D 2009-08-01T15:04:20
C Fix\sa\ssegfault\sfollowing\sOOM\sthat\swas\sintroduced\sby\scheck-in\s(6949)\swhich\nwas\sa\sfix\sfor\sticket\s#3997.\s(CVS\s6954)
D 2009-08-01T15:09:58
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in df9359da7a726ccb67a45db905c5447d5c00c6ef
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@ -159,7 +159,7 @@ F src/printf.c 508a1c59433353552b6553cba175eaa7331f8fc1
F src/random.c 676b9d7ac820fe81e6fb2394ac8c10cff7f38628
F src/resolve.c 4a61d03e49b15440878096e6030863fc628828f0
F src/rowset.c c64dafba1f9fd876836c8db8682966b9d197eb1f
F src/select.c 90bc99bfcf8faae5ebb8d8948366c7c2a1b4cc00
F src/select.c 67b0778c9585905c8aa75aaa469e76ef3c1d315a
F src/shell.c db2643650b9268df89a4bedca3f1c6d9e786f1bb
F src/sqlite.h.in 541159dfec7b9b67a31111d74b12441f3b55708d
F src/sqlite3ext.h 1db7d63ab5de4b3e6b83dd03d1a4e64fef6d2a17
@ -740,7 +740,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl 672f81d693a03f80f5ae60bfefacd8a349e76746
P 8161af840e8fd2b06457e75023f934e1b8fe5fd6
R 8bf44bb569da9dde220803ced22e1b91
P 12d9b87316cf072d8071fb43ca1232d36720bbca
R f5af2f25a367cfe592d2cf6d961ff240
U drh
Z 987e6e34bece987c3a64e8bb89960736
Z f77a7315fe3ea20a2d85d027081b8522

View File

@ -1 +1 @@
12d9b87316cf072d8071fb43ca1232d36720bbca
359d78e144c2399791d341eda1760eb486f9740a

View File

@ -12,7 +12,7 @@
** This file contains C code routines that are called by the parser
** to handle SELECT statements in SQLite.
**
** $Id: select.c,v 1.525 2009/07/28 13:30:31 danielk1977 Exp $
** $Id: select.c,v 1.526 2009/08/01 15:09:58 drh Exp $
*/
#include "sqliteInt.h"
@ -2355,8 +2355,8 @@ static Expr *substExpr(
assert( pEList!=0 && pExpr->iColumn<pEList->nExpr );
assert( pExpr->pLeft==0 && pExpr->pRight==0 );
pNew = sqlite3ExprDup(db, pEList->a[pExpr->iColumn].pExpr, 0);
if( pExpr->pColl ){
pNew->pColl = pExpr->pColl;
if( pNew && pExpr->pColl ){
pNew->pColl = pExpr->pColl;
}
sqlite3ExprDelete(db, pExpr);
pExpr = pNew;