]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Avoid excess heap usage when copying expressions. Ticket #979. (CVS 2126)
authordrh <drh@noemail.net>
Sat, 20 Nov 2004 20:42:10 +0000 (20:42 +0000)
committerdrh <drh@noemail.net>
Sat, 20 Nov 2004 20:42:10 +0000 (20:42 +0000)
FossilOrigin-Name: 0f444c032dded0ea4c5bf47516f37cbd44767689

manifest
manifest.uuid
src/expr.c

index 14229c7d0e018f667a6c4245296d88ad54861c68..ebb96709896b1b5ff95771ccddf447170ddfa690 100644 (file)
--- 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
index 42c235f0d699006042e55c754626bee21e715850..bde318ffa9e7dc6de12a30fa658a1fd8beaf8f15 100644 (file)
@@ -1 +1 @@
-7fa623f24a6c566cb149cfb6515faf489280db97
\ No newline at end of file
+0f444c032dded0ea4c5bf47516f37cbd44767689
\ No newline at end of file
index 331f14f40bd9a4bee4083400e58521bcf4c33282..3c70e57d11e23c74bfa0b7c716b0091e400400ea 100644 (file)
@@ -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 <ctype.h>
@@ -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 );