From: drh Date: Mon, 9 Dec 2013 03:07:21 +0000 (+0000) Subject: Avoid unnecessary (no-op) calls to sqlite3DbFree() from sqlite3VdbeMemRelease(). X-Git-Tag: version-3.8.3~117 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7250c547a560edae9cbeb4f1fe666194a91fea3e;p=thirdparty%2Fsqlite.git Avoid unnecessary (no-op) calls to sqlite3DbFree() from sqlite3VdbeMemRelease(). FossilOrigin-Name: 2d6dd7c2eb5a64f8994162b564a99ef0014b7460 --- diff --git a/manifest b/manifest index 4c5b561fae..643699b1c1 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Use\smemmove()\srather\sthan\sa\shome-made\scopy\sloop\sin\sinsertCell()\stoo. -D 2013-12-09T02:32:19.333 +C Avoid\sunnecessary\s(no-op)\scalls\sto\ssqlite3DbFree()\sfrom\ssqlite3VdbeMemRelease(). +D 2013-12-09T03:07:21.713 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in e1a9b4258bbde53f5636f4e238c65b7e11459e2b F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -286,7 +286,7 @@ F src/vdbeInt.h 05fbda0e061dbc4aaa2709a8cccf3515c245b263 F src/vdbeapi.c 93a22a9ba2abe292d5c2cf304d7eb2e894dde0ed F src/vdbeaux.c 09b79d475f5af2b3b5068f639609d88e0ced9d95 F src/vdbeblob.c 8cd05a5630e6d5563ad017bf82edaf812b28acde -F src/vdbemem.c 20e349d2ca928802fc8f2d42a2cc488fd6981d3f +F src/vdbemem.c f12d087d92f57fc302028ac1b45374bf8a454d7e F src/vdbesort.c 9d83601f9d6243fe70dd0169a2820c5ddfd48147 F src/vdbetrace.c e7ec40e1999ff3c6414424365d5941178966dcbc F src/vtab.c 21b932841e51ebd7d075e2d0ad1415dce8d2d5fd @@ -1146,7 +1146,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P 78e1706804e88a0dd5dc40bee838a3a504cfa53b -R 3d219561bfa9f63d670ef18564ca91c7 +P a3d796b1673ca68ced247d63c22ddcfb1f9d56ea +R 92833625552491c74b69254824111a37 U drh -Z a11cf025d0d9777faa558f3c1da4ce10 +Z 1f5af3845443b6f278035b5de234203a diff --git a/manifest.uuid b/manifest.uuid index cf1f8b8cea..5464ad75ae 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a3d796b1673ca68ced247d63c22ddcfb1f9d56ea \ No newline at end of file +2d6dd7c2eb5a64f8994162b564a99ef0014b7460 \ No newline at end of file diff --git a/src/vdbemem.c b/src/vdbemem.c index 51f20d4cc7..8a3acd5308 100644 --- a/src/vdbemem.c +++ b/src/vdbemem.c @@ -295,10 +295,12 @@ void sqlite3VdbeMemReleaseExternal(Mem *p){ */ void sqlite3VdbeMemRelease(Mem *p){ VdbeMemRelease(p); - sqlite3DbFree(p->db, p->zMalloc); + if( p->zMalloc ){ + sqlite3DbFree(p->db, p->zMalloc); + p->zMalloc = 0; + } p->z = 0; - p->zMalloc = 0; - p->xDel = 0; + assert( p->xDel==0 ); /* Zeroed by VdbeMemRelease() above */ } /*