On 07/15/2015 06:19 PM, Richard Hipp wrote:
> On 7/15/15, T?r?k Edwin <edwin+sqlite3 at etorok.net> wrote:
>> On 07/15/2015 12:05 AM, Richard Hipp wrote:
>>
>> I've run the address and undefined behaviour sanitizer (+ usual hardening
>> and bug finding flags from Debian) from GCC 4.9.2 on Debian Jessie on this
>> fossil checkout: a73d7128fbca8dde5e90bd46ee915e39ae07dd1f 2015-07-14
>> 22:43:37 UTC
>> (the snapshots tarballs don't seem to include the tests).
>>
>> I found some issues, but they look more like bugs in the sanitizer or the
>> test runner than bugs in sqlite, but I'm posting it here just to
>> double-check:
>>
>> $ ./configure CFLAGS="-g -O2 -Werror=array-bounds -Werror=clobbered
>> -Werror=volatile-register-var -Werror=implicit-function-declaration -fPIE
>> -fstack-protector-strong -Wformat -Werror=format-security -fsanitize=address
>> -fsanitize=undefined -fno-omit-frame-pointer" CPPFLAGS="-D_FORTIFY_SOURCE=2"
>> LDFLAGS="-fPIE -pie -Wl,-z,relro -Wl,-z,now -fsanitize=address
>> -fsanitize=undefined -pthread" --enable-debug --enable-threadsafe
> 
> I guess you need GCC 4.9.x for this, because when I try the above
> using Ubuntu 14.04LTS (Gcc 4.8.4) I get:
> 
>     checking whether the C compiler works... no
> 

Probably due to -fstack-protector-strong (which is not relevant for this bug), 
try this simplified cmdline instead:

$ ./configure CFLAGS="-g -O2 -fsanitize=address -fsanitize=undefined 
-fno-omit-frame-pointer" CPPFLAGS="-D_FORTIFY_SOURCE=2" 
LDFLAGS="-fsanitize=address -fsanitize=undefined -pthread" --enable-debug 
--enable-threadsafe
$ make fuzzcheck
$ ./fuzzcheck test/fuzzdata3.db

Should work with clang too (if you set CC=clang).


Reply via email to