Compiler might have inlined call to memcmp. On Mon, Jul 28, 2014 at 4:30 PM, ji wang <[email protected]> wrote: > >> >You lose detection of libc usage errors (like strchr() on an >> >unaddressable buffer, etc). > > > This explain seems reasonable, but I tested libsqlite.so with asan just now, > got an Asan error that about memcmp, see below, strange... It should not be > detected, Why this happen? > > ~/codes/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux/bin/arm-linux-gnueabihf-ldd > --root=/home/ libsqlite.so > libdl.so not found > liblog.so not found > libicuuc.so not found > libicui18n.so not found > libutils.so not found > > libc.so not found > libstdc++.so not found > libm.so not found > libasan.so.1 not found > > ==2722==ERROR: AddressSanitizer: global-buffer-overflow on address > 0x409e32a9 at pc 0x409ccc59 bp 0xbed53abc sp 0xbed53ab4 > READ of size 1 at 0x409e32a9 thread T0 > #0 0x409ccc57 (/system/lib/libsqlite.so+0xd5c57) > #1 0x409684db (/system/lib/libsqlite.so+0x714db) > ... > ... ... > 0x409e32a9 is located 55 bytes to the left of global variable '*.LC1241' > from 'external/sqlite/dist/sqlite3.c' (0x409e32e0) of size 10 > '*.LC1241' is ascii string 'unix-none' > 0x409e32a9 is located 4 bytes to the right of global variable '*.LC1240' > from 'external/sqlite/dist/sqlite3.c' (0x409e32a0) of size 5 > '*.LC1240' is ascii string 'unix' > > The error code is in the sqlite3.c: > if( memcmp(pVfs->zName,"unix-excl",10)==0 ){ > pNew->ctrlFlags |= UNIXFILE_EXCL; > } > > -- > You received this message because you are subscribed to the Google Groups > "address-sanitizer" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout.
-- You received this message because you are subscribed to the Google Groups "address-sanitizer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
