From: drh Date: Mon, 26 Jul 2010 12:38:12 +0000 (+0000) Subject: Make sure sqlite3_free() is not called for P4_MPRINTF during a size X-Git-Tag: version-3.7.2~93^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7043db9f6fc404f5998b777d86ce8e7bcfb07f6d;p=thirdparty%2Fsqlite.git Make sure sqlite3_free() is not called for P4_MPRINTF during a size measurement. FossilOrigin-Name: 56f11f8823cd06a69eebce6a9613e22b1810b59b --- diff --git a/manifest b/manifest index 63b9c1fdc2..68bf8a8ea4 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,8 @@ -C Remove\san\sassert()\sthat\suses\sa\svariable\sremoved\searlier. -D 2010-07-26T12:36:30 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +C Make\ssure\ssqlite3_free()\sis\snot\scalled\sfor\sP4_MPRINTF\sduring\sa\ssize\nmeasurement. +D 2010-07-26T12:38:13 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in ec08dc838fd8110fe24c92e5130bcd91cbb1ff2e F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -222,7 +225,7 @@ F src/vdbe.c cefff41564b68a412e65e6a1013ec1b1c1ece6c4 F src/vdbe.h e1b91019c807519b8060199f6341ad4255066ae8 F src/vdbeInt.h ffd68c4d4229227a5089bec53a1c635146177abc F src/vdbeapi.c dc3138f10afbc95ed3c21dd25abb154504b1db9d -F src/vdbeaux.c 41a4b2f9cd5fd5d459bee9095edd6b3072a12831 +F src/vdbeaux.c 30fa2472d2a5cff466902cb60d7563132fa88e0d F src/vdbeblob.c 258a6010ba7a82b72b327fb24c55790655689256 F src/vdbemem.c 5e579abf6532001dfbee0e640dc34eae897a9807 F src/vdbetrace.c 864cef96919323482ebd9986f2132435115e9cc2 @@ -838,7 +841,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P 00e55102a8309eb6df08ad4a8937ba02688bac62 -R 934aa3bfbaeb3e46b24be641c3dbd536 -U dan -Z c9317d67af30dc4f7833e96a286ecab8 +P c04907e69820bd19f647c5f555327e0058db4e6d +R c8d2853b53bf3a4ee312052fa3aebfa3 +U drh +Z 0936acd726a9e8014ca3c111b4cd3356 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQFMTYG4oxKgR168RlERAhQwAJwIMX5vE4H/BJq4TNhZLUQreYATwACeP/OW +1I5I4Xxua1NJmSm7HroiED4= +=YZxD +-----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index ffaa8d3fd2..c59efcc435 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c04907e69820bd19f647c5f555327e0058db4e6d \ No newline at end of file +56f11f8823cd06a69eebce6a9613e22b1810b59b \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 7d9f8c060a..036b462d36 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -592,7 +592,7 @@ static void freeP4(sqlite3 *db, int p4type, void *p4){ break; } case P4_MPRINTF: { - sqlite3_free(p4); + if( db->pnBytesFreed==0 ) sqlite3_free(p4); break; } case P4_VDBEFUNC: {