From: drh Date: Sat, 20 Nov 2004 20:42:10 +0000 (+0000) Subject: Avoid excess heap usage when copying expressions. Ticket #979. (CVS 2126) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6f65beb0848e65eadd6305cc29a798ef1bda437f;p=thirdparty%2Fsqlite.git Avoid excess heap usage when copying expressions. Ticket #979. (CVS 2126) FossilOrigin-Name: 0f444c032dded0ea4c5bf47516f37cbd44767689 --- diff --git a/manifest b/manifest index 14229c7d0e..ebb9670989 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Preserve\sthe\sdefault_temp_store\spragma\sacross\sVACUUM\sin\sversion\s2.8.\n(Version\s3.0\salready\sdoes\sthis.)\s\sTicket\s#1008.\s(CVS\s2120) -D 2004-11-20T19:01:45 +C Avoid\sexcess\sheap\susage\swhen\scopying\sexpressions.\s\sTicket\s#979.\s(CVS\s2126) +D 2004-11-20T20:42:10 F Makefile.in ab7b0d5118e2da97bac66be8684a1034e3500f5a F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd @@ -31,7 +31,7 @@ F src/copy.c 750e13828c3e4a293123e36aaa7cf0f22466248a F src/date.c 54befeafe3e2af041c22bcc49fd79f0396b75c4d F src/delete.c 82001c74882319f94dab5f6b92a27311b31092ae F src/encode.c fc8c51f0b61bc803ccdec092e130bebe762b0a2f -F src/expr.c 75182704675da63ca1a5d3cfe7960229b819d5ec +F src/expr.c 6bb3961c0391f2efe788fcfde3c2ff2ff283d5a8 F src/func.c ab5c57f0ebb975e66cc13f09141247c2f7a2c293 F src/hash.c 9b56ef3b291e25168f630d5643a4264ec011c70e F src/hash.h 3247573ab95b9dd90bcca0307a75d9a16da1ccc7 @@ -191,7 +191,7 @@ F www/sqlite.tcl 3c83b08cf9f18aa2d69453ff441a36c40e431604 F www/tclsqlite.tcl b9271d44dcf147a93c98f8ecf28c927307abd6da F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1 F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4 -P f77f7753aaca0b4a147f91e538691cb4ee8995a8 -R 9ea9c40f89e38c37ebb1a588019c170f +P 7fa623f24a6c566cb149cfb6515faf489280db97 +R 04dd990619473726fc3d154c3a329593 U drh -Z 9b9122b7bcd276d36fc30ed91b4b70bb +Z 4ba3c781d8e789ac8d708b2c1e226dc7 diff --git a/manifest.uuid b/manifest.uuid index 42c235f0d6..bde318ffa9 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7fa623f24a6c566cb149cfb6515faf489280db97 \ No newline at end of file +0f444c032dded0ea4c5bf47516f37cbd44767689 \ No newline at end of file diff --git a/src/expr.c b/src/expr.c index 331f14f40b..3c70e57d11 100644 --- a/src/expr.c +++ b/src/expr.c @@ -12,7 +12,7 @@ ** This file contains routines used for analyzing expressions and ** for generating VDBE code that evaluates expressions in SQLite. ** -** $Id: expr.c,v 1.114.2.3 2004/07/22 17:10:10 drh Exp $ +** $Id: expr.c,v 1.114.2.4 2004/11/20 20:42:10 drh Exp $ */ #include "sqliteInt.h" #include @@ -124,7 +124,7 @@ Expr *sqliteExprDup(Expr *p){ if( pNew==0 ) return 0; memcpy(pNew, p, sizeof(*pNew)); if( p->token.z!=0 ){ - pNew->token.z = sqliteStrDup(p->token.z); + pNew->token.z = sqliteStrNDup(p->token.z, p->token.n); pNew->token.dyn = 1; }else{ assert( pNew->token.z==0 );