]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Change sqlite3StrAccumAppend() to use realloc instead of malloc.
authordan <dan@noemail.net>
Fri, 21 Jan 2011 18:25:29 +0000 (18:25 +0000)
committerdan <dan@noemail.net>
Fri, 21 Jan 2011 18:25:29 +0000 (18:25 +0000)
FossilOrigin-Name: 380f61df0754ceec6b3f6a758d04e951cce8c3d9

manifest
manifest.uuid
src/printf.c

index 59328e76bfecc41ae4f461cfd9bdff1717b4aac9..5dfc84f214fb603391dd90a37c7f73ad5a8841cb 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\soptions\sto\stest\scommand\s[do_faultsim_test]\sto\ssupport\stesting\sVFS\simplementations.
-D 2011-01-21T15:52:02
+C Change\ssqlite3StrAccumAppend()\sto\suse\srealloc\sinstead\sof\smalloc.
+D 2011-01-21T18:25:30
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in de6498556d536ae60bb8bb10e8c1ba011448658c
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -170,7 +170,7 @@ F src/pcache.h c683390d50f856d4cd8e24342ae62027d1bb6050
 F src/pcache1.c 2610bcebf127df5ff82730c0c130cb35d4d6debe
 F src/pragma.c 8a6cd3c787f882fa44f6490d2411fc26839ce8f3
 F src/prepare.c c8b877b80721d70b68053fd9ae30ec6d63eeeadc
-F src/printf.c 37e8bfd4c5a04eae4960adbe776b0f1fc4cad674
+F src/printf.c df2ff3bb5409e8958136933342c46464fbd017e7
 F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
 F src/resolve.c 1c0f32b64f8e3f555fe1f732f9d6f501a7f05706
 F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697
@@ -896,7 +896,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 9660a0a22547656cc3765b673d0cee9e1dd829ef
-R f0e13f37f9a89d0d9982d76b8e865005
+P 503ad889da675b3dd83da7338e2902e42f69acac
+R 581c91bca4bed9e9c246127dfff2a86d
 U dan
-Z 235ffebf829319266e0bdfb46955a46a
+Z 1951ee9d42233f0fe4bd03e6cd0ae9e1
index d6eeac6d800d3b4962826d491be91466fed17093..37337becbb714b6eeb72b05b0770079a2de61917 100644 (file)
@@ -1 +1 @@
-503ad889da675b3dd83da7338e2902e42f69acac
\ No newline at end of file
+380f61df0754ceec6b3f6a758d04e951cce8c3d9
\ No newline at end of file
index 755355de0ce7ec965950e6ba9f211439d6f3c22c..c88bb30006c27cc76522e426b0e7a0f242fcbcab 100644 (file)
@@ -763,6 +763,7 @@ void sqlite3StrAccumAppend(StrAccum *p, const char *z, int N){
         return;
       }
     }else{
+      char *zOld = (p->zText==p->zBase ? 0 : p->zText);
       i64 szNew = p->nChar;
       szNew += N + 1;
       if( szNew > p->mxAlloc ){
@@ -773,13 +774,12 @@ void sqlite3StrAccumAppend(StrAccum *p, const char *z, int N){
         p->nAlloc = (int)szNew;
       }
       if( p->useMalloc==1 ){
-        zNew = sqlite3DbMallocRaw(p->db, p->nAlloc );
+        zNew = sqlite3DbRealloc(p->db, zOld, p->nAlloc);
       }else{
-        zNew = sqlite3_malloc(p->nAlloc);
+        zNew = sqlite3_realloc(zOld, p->nAlloc);
       }
       if( zNew ){
-        memcpy(zNew, p->zText, p->nChar);
-        sqlite3StrAccumReset(p);
+        if( zOld==0 ) memcpy(zNew, p->zText, p->nChar);
         p->zText = zNew;
       }else{
         p->mallocFailed = 1;