-C Fix\sthe\scrash.test\sscript\sto\saccomodate\srecent\schanges.\s(CVS\s2712)
-D 2005-09-17T17:05:19
+C Fix\sa\smemory\sleak\sthat\soccurs\safter\smalloc\sfails.\s(CVS\s2713)
+D 2005-09-17T17:58:22
F Makefile.in 12784cdce5ffc8dfb707300c34e4f1eb3b8a14f1
F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
F src/vdbe.h c8e105979fc7aaf5b8004e9621904e3bd096dfa2
F src/vdbeInt.h 3dd2a29c7b0a55404c35f93caae81fb42f4cb70a
F src/vdbeapi.c 85bbe1d0243a89655433d60711b4bd71979b59cd
-F src/vdbeaux.c b1db8b87935e7c864e6cdd9e39e07b6efdc2f576
+F src/vdbeaux.c 57a6ced8417bdc6f06c391d9c560ecbbed644ef3
F src/vdbefifo.c 9efb94c8c3f4c979ebd0028219483f88e57584f5
F src/vdbemem.c fea0744936008831daa17cdc75056c3ca1469690
F src/where.c 1cc55c9aa142c7ef09b427f5fd0bf0488e365fc4
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P c3bf17436bc1e264b4dbe255876a990a5a2b8b0c
-R d3e1eb1d7df7ceac8fbbdfcdff50095f
+P d594608ff37bbf1d6866adb337aa2fbcd517eada
+R c67b9e4d248af499dfd433c361712ddb
U drh
-Z 21fd3b22e21e3f9446ccb64539193918
+Z 01b5ac88e3a5db9c8fdd344f074b13da
-d594608ff37bbf1d6866adb337aa2fbcd517eada
\ No newline at end of file
+85b931bf72dac88187e4531053a06abe25d6f462
\ No newline at end of file
*/
static void freeP3(int p3type, void *p3){
if( p3 ){
- if( p3type==P3_DYNAMIC || p3type==P3_KEYINFO ){
- sqliteFree(p3);
- }
- if( p3type==P3_VDBEFUNC ){
- VdbeFunc *pVdbeFunc = (VdbeFunc *)p3;
- sqlite3VdbeDeleteAuxData(pVdbeFunc, 0);
- sqliteFree(pVdbeFunc);
- }
- if( p3type==P3_MEM ){
- sqlite3ValueFree((sqlite3_value*)p3);
+ switch( p3type ){
+ case P3_DYNAMIC:
+ case P3_KEYINFO:
+ case P3_KEYINFO_HANDOFF: {
+ sqliteFree(p3);
+ break;
+ }
+ case P3_VDBEFUNC: {
+ VdbeFunc *pVdbeFunc = (VdbeFunc *)p3;
+ sqlite3VdbeDeleteAuxData(pVdbeFunc, 0);
+ sqliteFree(pVdbeFunc);
+ break;
+ }
+ case P3_MEM: {
+ sqlite3ValueFree((sqlite3_value*)p3);
+ break;
+ }
}
}
}