| Title | LD functions don't check their arena argument |
| Status | closed |
| Priority | optional |
| Assigned user | Gareth Rees |
| Organization | Ravenbrook |
| Description | If you pass a bad arena argument to one of the functions mps_ld_add, mps_ld_istale, mps_ld_isstale_any, mps_ld_merge, then this does not result in an assertion failure. Found by MMQA test cases argerr/{76,80,86}.c. |
| Analysis | These functions don't take the arena lock, so they can't AVERT(Arena, arena), but AVER(TESTT(Arena, arena)) is thread-safe and should be used instead [1]. |
| How found | automated_test |
| Evidence | [1] <https://www.ravenbrook.com/project/mps....html#design.mps.sig.check.arg.unlocked> |
| Test procedure | argerr/76.c |
| Created by | Gareth Rees |
| Created on | 2014-10-13 17:06:56 |
| Last modified by | Gareth Rees |
| Last modified on | 2014-10-20 17:04:53 |
| History | 2014-10-13 GDR Created. |
| Change | Effect | Date | User | Description |
|---|---|---|---|---|
| 187240 | closed | 2014-10-13 17:31:50 | Gareth Rees | Check arena argument in LDAdd, LDMerge and LDIsStaleAny. |