On Thu, Aug 1, 2013 at 3:30 PM, Brian Vincent wrote:
> if( d1>=(u32)nKey1 && sqlite3VdbeSerialTypeLen(serial_type1)>0 ) break;
>
> The next line will likely segfault if d1>=nKey1, right? What if d1>=nKey1,
> but it's not true that sqlite3VdbeSerialTypeLen(serial_type1)>0 ?
if( d1>=(u32)nKey1 && sqlite3VdbeSerialTypeLen(serial_type1)>0 ) break;
The next line will likely segfault if d1>=nKey1, right? What if d1>=nKey1,
but it's not true that sqlite3VdbeSerialTypeLen(serial_type1)>0 ? Wouldn't
this still cause a segfault? Is that a valid concern?
-Brian
On Thu, Aug 1, 2013 at 2:20 PM, Brian Vincent wrote:
> I think I can describe, is a
> possibly way that a corrupt database is causing sqlite to segfault.
>
Thanks. Fixed in http://www.sqlite.org/src/info/c3baca99f4 including a
test case.
--
D. Richard Hipp
d...@sqlite.org
On Thu, Aug 1, 2013 at 8:20 PM, Brian Vincent wrote:
> next line assigns it to d1, which is a signed integer, so d1 gets a
> negative value.
To be strictly pedantic, overflow/underflow are undefined for _signed_
types in C. Here are some details:
On 8/1/2013 12:20, Brian Vincent wrote:
Let me first say that we sometimes see databases that go corrupt. I
haven't pinpointed the cause yet,
This may be enlightening: "How to Corrupt an SQLite Database File"
https://www.sqlite.org/howtocorrupt.html
Let me first say that we sometimes see databases that go corrupt. I
haven't pinpointed the cause yet, but what I think I can describe, is a
possibly way that a corrupt database is causing sqlite to segfault.
I use a java wrapper for sqlite. I've seen this exact segfault happen on
an older
6 matches
Mail list logo