1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-08 03:22:21 +03:00

Fix an obscure memory leak in the SQL compiler.. (CVS 4070)

FossilOrigin-Name: d4ab94288b1e3d3d069ccc75d0fc2fbe6c1383c5
This commit is contained in:
danielk1977
2007-06-15 16:37:29 +00:00
parent 5bd1bf2ebc
commit edaaec223c
3 changed files with 11 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
C Fix\sa\smemory\sleak\sthat\swas\sdiscovered\sby\sthe\stests\sthat\swere\sadded\sto\ncover\sticket\s#2339.\s(CVS\s4069) C Fix\san\sobscure\smemory\sleak\sin\sthe\sSQL\scompiler..\s(CVS\s4070)
D 2007-06-15T15:31:50 D 2007-06-15T16:37:29
F Makefile.in b9971ab07868cf2b3209fe3bf8c52e7e25af4193 F Makefile.in b9971ab07868cf2b3209fe3bf8c52e7e25af4193
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935 F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -72,7 +72,7 @@ F src/complete.c 7d1a44be8f37de125fcafd3d3a018690b3799675
F src/date.c 6049db7d5a8fdf2c677ff7d58fa31d4f6593c988 F src/date.c 6049db7d5a8fdf2c677ff7d58fa31d4f6593c988
F src/delete.c 5c0d89b3ef7d48fe1f5124bfe8341f982747fe29 F src/delete.c 5c0d89b3ef7d48fe1f5124bfe8341f982747fe29
F src/experimental.c 1b2d1a6cd62ecc39610e97670332ca073c50792b F src/experimental.c 1b2d1a6cd62ecc39610e97670332ca073c50792b
F src/expr.c 97819d6a4f2863dd5b04ad1ccd41a1d6bf043a01 F src/expr.c b68f1b208be50413b407da92bd7b0fce840999cf
F src/func.c 4668843e6f0d27653939e12fc32276fb8e38d21a F src/func.c 4668843e6f0d27653939e12fc32276fb8e38d21a
F src/hash.c 67b23e14f0257b69a3e8aa663e4eeadc1a2b6fd5 F src/hash.c 67b23e14f0257b69a3e8aa663e4eeadc1a2b6fd5
F src/hash.h 1b3f7e2609141fd571f62199fc38687d262e9564 F src/hash.h 1b3f7e2609141fd571f62199fc38687d262e9564
@@ -505,7 +505,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
P 32218834b80b1ba900c52e43a2e59783a2553897 P 1d10a489340718cc708e11e28e7bb31c67e00ad8
R 8c6ece4f58210bbfb811dd967ab2ba6d R 9fe50d18cd28bd8cd5d536116efc2ce9
U drh U danielk1977
Z 9eac641c488d35429a98333827efea5b Z cfd25d2e291df33ba153e7f53553abed

View File

@@ -1 +1 @@
1d10a489340718cc708e11e28e7bb31c67e00ad8 d4ab94288b1e3d3d069ccc75d0fc2fbe6c1383c5

View File

@@ -12,7 +12,7 @@
** This file contains routines used for analyzing expressions and ** This file contains routines used for analyzing expressions and
** for generating VDBE code that evaluates expressions in SQLite. ** for generating VDBE code that evaluates expressions in SQLite.
** **
** $Id: expr.c,v 1.297 2007/06/08 00:20:48 drh Exp $ ** $Id: expr.c,v 1.298 2007/06/15 16:37:29 danielk1977 Exp $
*/ */
#include "sqliteInt.h" #include "sqliteInt.h"
#include <ctype.h> #include <ctype.h>
@@ -1147,6 +1147,8 @@ static int lookupName(
pDup->pColl = pExpr->pColl; pDup->pColl = pExpr->pColl;
pDup->flags |= EP_ExpCollate; pDup->flags |= EP_ExpCollate;
} }
if( pExpr->span.dyn ) sqliteFree((char*)pExpr->span.z);
if( pExpr->token.dyn ) sqliteFree((char*)pExpr->token.z);
memcpy(pExpr, pDup, sizeof(*pExpr)); memcpy(pExpr, pDup, sizeof(*pExpr));
sqliteFree(pDup); sqliteFree(pDup);
cnt = 1; cnt = 1;