
|
If you were logged in you would be able to see more operations.
|
|
|
|
Time Tracking:
|
|
Original Estimate:
|
4h
|
|
|
Remaining Estimate:
|
4h
|
|
|
Time Spent:
|
Not Specified
|
|
|
|
|
Environment:
|
Darwin host.local 9.2.2 Darwin Kernel Version 9.2.2: Tue Mar 4 21:17:34 PST 2008; root:xnu-1228.4.31~1/RELEASE_I386 i386
|
|
Issue Links:
|
Reference
|
|
This issue relates to:
|
|
|
STDCXX-707 [IBM XLC++ 9.0/AIX 5.3] 0.printf fails 4 assertions due to __rw_memattr()
|
|
|
|
 |
|
STDCXX-806 [FreeBSD] SIGSEGV in 0.printf because of __rw::__rw_memattr
|
|
|
|
|
STDCXX-705
[HP-UX/IPF] 0.printf fails 4 assertions due to __rw_memattr()
|
|
|
|
|
|
|
|
The test_string() function in the 0.printf test calls bad_address() to generate an invalid address. This address is eventually passed to the __rw::__rw_memattr() function which uses the pointer value, specifically 0x20, as the pointer value to the memchr() C library function which promptly aborts the program. The invalid pointer should be caught before calling such C library functions which usually expect valid pointers. Suspect the proliferous conditional code within the function or some other unaccounted platform dependency. The preprocessed Darwin source for __rw_memattr() is shown below.
|
|
Description
|
The test_string() function in the 0.printf test calls bad_address() to generate an invalid address. This address is eventually passed to the __rw::__rw_memattr() function which uses the pointer value, specifically 0x20, as the pointer value to the memchr() C library function which promptly aborts the program. The invalid pointer should be caught before calling such C library functions which usually expect valid pointers. Suspect the proliferous conditional code within the function or some other unaccounted platform dependency. The preprocessed Darwin source for __rw_memattr() is shown below.
|
Show » |
| No work has yet been logged on this issue.
|
|