|
From: Nicholas N. <nj...@cs...> - 2005-03-20 17:42:39
|
Hi,
I just remembered something that should go in the 2.4.0 release notes.
Memcheck now checks that both scalar and in-memory inputs to syscalls are
defined. Previously it didn't check scalar inputs.
The distinction can bee seen in these two error messages:
Syscall param write(buf) contains uninitialised byte(s)
at 0x1B9EB0CD: syscall (in /lib/libc-2.2.5.so)
by 0x8048430: main (f.c:7)
Syscall param write(buf) points to unaddressable byte(s)
at 0x1B9EB0CD: syscall (in /lib/libc-2.2.5.so)
by 0x8048430: main (f.c:7)
Address 0x0 is not stack'd, malloc'd or (recently) free'd
Importantly, the first error message used to mean that the in-memory
bytes were uninitialised. Now it means that the pointer 'buf' itself
contains uninitialised bytes. This is explained in the docs, but could be
confusing for existing users. (When I made this change, I tried to reword
the error message but couldn't think of anything better.) Also, a single
suppression will suppress both errors (hmm, not sure if that's the best, but
it's how it is...)
Jeremy, can you add this to the release notes? (Please use as much of the
above text as you like.)
N
|
|
From: Jeremy F. <je...@go...> - 2005-03-20 17:50:33
|
Nicholas Nethercote wrote:
> I just remembered something that should go in the 2.4.0 release notes.
> Memcheck now checks that both scalar and in-memory inputs to syscalls
> are defined. Previously it didn't check scalar inputs.
> [...]
> Jeremy, can you add this to the release notes? (Please use as much of
> the above text as you like.)
The release notes currently have:
* Syscall arguments are now checked for validity. Previously all memory
used by syscalls was checked, but now the actual values passed
are also checked.
Do you think this is too terse?
J
|
|
From: Nicholas N. <nj...@cs...> - 2005-03-20 20:35:46
|
On Sun, 20 Mar 2005, Jeremy Fitzhardinge wrote: > The release notes currently have: > > * Syscall arguments are now checked for validity. Previously all memory > used by syscalls was checked, but now the actual values passed > are also checked. > > Do you think this is too terse? Oh. That's good enough. Sorry for the noise. N |