From bruen....com on September 07, 2011 11:36:35
two separate unaddr sequences in same memref: currently 2nd will be considered a duplicate error since same callstack.
test: p = malloc(1); i = ((int)(p - 2));
valgrind reports just one error (ignores 2nd part): ==14217== Invalid read of size 4 ==14217== at 0x8048645: main (free.c:37) ==14217== Address 0x7267026 is 2 bytes before a block of size 1 alloc'd ==14217== at 0x47EDF20: malloc (vg_replace_malloc.c:236) ==14217== by 0x8048639: main (free.c:36) ==14217==
but with a large buffer passed to a syscall it might be useful to get separate reports rather than ignore or dup
Original issue: http://code.google.com/p/drmemory/issues/detail?id=581
该提问来源于开源项目:DynamoRIO/drmemory