Make sure the MEM_Zero flags is cleared whenever removing MEM_Blob. (CVS 6111)

FossilOrigin-Name: b2131e868a3a948ba81f7458270493085da1ae60
This commit is contained in:
drh
2009-01-05 18:02:27 +00:00
parent 8f51eb8fa0
commit 68ac65ecdc
4 changed files with 13 additions and 12 deletions
+7 -7
View File
@@ -1,5 +1,5 @@
C Include\sfuzz3.test\sin\sall.test.\s\sGet\sfuzz3.test\sworking\sagain.\s(CVS\s6110)
D 2009-01-05T17:19:03
C Make\ssure\sthe\sMEM_Zero\sflags\sis\scleared\swhenever\sremoving\sMEM_Blob.\s(CVS\s6111)
D 2009-01-05T18:02:27
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 05461a9b5803d5ad10c79f989801e9fd2cc3e592
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -198,9 +198,9 @@ F src/update.c 8c4925f9ca664effc8a1faaad67449d2074567b1
F src/utf.c 1da9c832dba0fa8f865b5b902d93f420a1ee4245
F src/util.c ea62608f66f33a7e8322de83024ae37c415c0c7f
F src/vacuum.c 383d6297bddc011ab04a9eed110db6eaf523e8e9
F src/vdbe.c 687e481528acc92a42959accafa8e41dfa46f95d
F src/vdbe.c d30c6c3e022ff0c4ff0202adfcaf38b89cb642ee
F src/vdbe.h 03516f28bf5aca00a53c4dccd6c313f96adb94f6
F src/vdbeInt.h e6e80a99ce634983b7cc2498843b4d2e5540900a
F src/vdbeInt.h 5530e45fc64c1572f123aca384096e1b84cf834b
F src/vdbeapi.c 85c33cfbfa56249cbe627831610afafba754477d
F src/vdbeaux.c f8bf57ba0f7ec1fc1fe3997be1cb30d08553fa5c
F src/vdbeblob.c b0dcebfafedcf9c0addc7901ad98f6f986c08935
@@ -692,7 +692,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
P cf627752c4537f709acae26a1e335731d55bddb2
R 4b9de2d28fc2e8188a571158ea4e3416
P 77dc19cfabca54353509ff346b12975044d416d5
R 2a41e3988f61c793d4dad4e5b4435e22
U drh
Z 13bf1ffa0f51ae4cbd19f2d1eead623a
Z 89b2b05de23be25cd3f5c45e5c034efb
+1 -1
View File
@@ -1 +1 @@
77dc19cfabca54353509ff346b12975044d416d5
b2131e868a3a948ba81f7458270493085da1ae60
+2 -2
View File
@@ -43,7 +43,7 @@
** in this file for details. If in doubt, do not deviate from existing
** commenting and indentation practices when changing or adding code.
**
** $Id: vdbe.c,v 1.808 2009/01/02 21:08:09 drh Exp $
** $Id: vdbe.c,v 1.809 2009/01/05 18:02:27 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -1503,7 +1503,7 @@ case OP_ToText: { /* same as TK_TO_TEXT, in1 */
applyAffinity(pIn1, SQLITE_AFF_TEXT, encoding);
rc = ExpandBlob(pIn1);
assert( pIn1->flags & MEM_Str || db->mallocFailed );
pIn1->flags &= ~(MEM_Int|MEM_Real|MEM_Blob);
pIn1->flags &= ~(MEM_Int|MEM_Real|MEM_Blob|MEM_Zero);
UPDATE_MAX_BLOBSIZE(pIn1);
break;
}
+3 -2
View File
@@ -15,7 +15,7 @@
** 6000 lines long) it was split up into several smaller files and
** this header information was factored out.
**
** $Id: vdbeInt.h,v 1.160 2008/12/09 02:51:24 drh Exp $
** $Id: vdbeInt.h,v 1.161 2009/01/05 18:02:27 drh Exp $
*/
#ifndef _VDBEINT_H_
#define _VDBEINT_H_
@@ -173,7 +173,8 @@ struct Mem {
/*
** Clear any existing type flags from a Mem and replace them with f
*/
#define MemSetTypeFlag(p, f) ((p)->flags = ((p)->flags&~(MEM_TypeMask))|f)
#define MemSetTypeFlag(p, f) \
((p)->flags = ((p)->flags&~(MEM_TypeMask|MEM_Zero))|f)
/* A VdbeFunc is just a FuncDef (defined in sqliteInt.h) that contains