Fossil SCM

Fix [http://www.sqlite.org/src/info/96d3e99ffe59b528|96d3e99ffe59b528]: Memory allocation bug. I saw crashes on 32-bit Linux (Ubuntu 14.04), so it's not only win32 which was affected by this bug.

jan.nijtmans 2015-12-11 12:50 trunk
Commit b85b159beea6978677b2910118b7596848cd5809
1 file changed +1
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -68858,10 +68858,11 @@
6885868858
p->usesStmtJournal = (u8)(pParse->isMultiWrite && pParse->mayAbort);
6885968859
if( pParse->explain && nMem<10 ){
6886068860
nMem = 10;
6886168861
}
6886268862
memset(zCsr, 0, nFree);
68863
+ nFree -= (zCsr - (u8*)0)&7;
6886368864
zCsr += (zCsr - (u8*)0)&7;
6886468865
assert( EIGHT_BYTE_ALIGNMENT(zCsr) );
6886568866
p->expired = 0;
6886668867
6886768868
/* Memory for registers, parameters, cursor, etc, is allocated in two
6886868869
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -68858,10 +68858,11 @@
68858 p->usesStmtJournal = (u8)(pParse->isMultiWrite && pParse->mayAbort);
68859 if( pParse->explain && nMem<10 ){
68860 nMem = 10;
68861 }
68862 memset(zCsr, 0, nFree);
 
68863 zCsr += (zCsr - (u8*)0)&7;
68864 assert( EIGHT_BYTE_ALIGNMENT(zCsr) );
68865 p->expired = 0;
68866
68867 /* Memory for registers, parameters, cursor, etc, is allocated in two
68868
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -68858,10 +68858,11 @@
68858 p->usesStmtJournal = (u8)(pParse->isMultiWrite && pParse->mayAbort);
68859 if( pParse->explain && nMem<10 ){
68860 nMem = 10;
68861 }
68862 memset(zCsr, 0, nFree);
68863 nFree -= (zCsr - (u8*)0)&7;
68864 zCsr += (zCsr - (u8*)0)&7;
68865 assert( EIGHT_BYTE_ALIGNMENT(zCsr) );
68866 p->expired = 0;
68867
68868 /* Memory for registers, parameters, cursor, etc, is allocated in two
68869

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button