Title | ArenaRootsWalk does not check the result of TraceAddWhite |
Status | closed |
Priority | nice |
Assigned user | Gareth Rees |
Organization | Ravenbrook |
Description | ArenaRootsWalk in arena.c [1] calls TraceAddWhite, but does not check the result. TraceAddWhite can fail if PoolWhiten fails. |
Analysis | In practice, AMCWhiten, AWLWhiten, and LOWhiten always succeed. So the only way this could fail is if this was called on a pool that doesn't support whitening. (But wouldn't that be a programming error and so more appropriate for AVER instead of Res?) |
How found | automated_test |
Evidence | [1] <https://info.ravenbrook.com/project/mps/master/code/walk.c#line-311 > |
Created by | Gareth Rees |
Created on | 2014-03-24 16:56:31 |
Last modified by | Gareth Rees |
Last modified on | 2014-04-13 18:08:51 |
History | 2014-03-24 GDR Created. |
Change | Effect | Date | User | Description |
---|---|---|---|---|
184977 | closed | 2014-03-24 18:23:29 | Gareth Rees | Improved support for Pelles C: * Refactor nmake files so that a compiler-specific makefile is included; move Microsoft Visual C-specific options to mv.nmk. * Add nmake files for Pelles (w3i3pc.nmk and pc.nmk). * Rename spw3i3mv.c to spw3i3.c and spw3i6mv.c to spw3i6.c since these are also used by Pelles C. * Make reasonable changes to the source code to avoid warnings from Pelles C: ** check results of function calls; ** avoid useless return values; ** undef max before defining it; ** ensure printf formats are checkable; ** move notreached() assertions to the end of blocks; ** suppress warnings in cases where the code shouldn't be changed ("Unreachable code", "Inline assembly code is not portable", "Structured Exception Handling is not portable"). |