|
Message-ID: <lnsl9h$sul$1@ger.gmane.org> Date: Wed, 18 Jun 2014 18:20:33 +0000 (UTC) From: Clément Vasseur <clement.vasseur@...il.com> To: musl@...ts.openwall.com Subject: uninitialized memory access in memmem() Hello, I found a case where memmem() returns 0 where it should not: $ cat test-memmem.c #define _GNU_SOURCE #include <string.h> #include <assert.h> #define DATA 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10 int main(void) { const unsigned char haystack[] = { DATA }; const unsigned char needle[] = { DATA }; assert(memmem(haystack, sizeof haystack, needle, sizeof needle)); } $ musl-gcc test-memmem.c && ./a.out Assertion failed: memmem(haystack, sizeof haystack, needle, sizeof needle) (test-memmem.c: main: 11) Aborted Valgrind says a conditional jump or move depends on uninitalized value in twoway_memmem(). The code is quite complicated so I have not tried to track it down any further.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.