MPS issue job003887

TitleLD functions don't check their arena argument
Statusclosed
Priorityoptional
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionIf 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.
AnalysisThese 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 foundautomated_test
Evidence[1] <https://www.ravenbrook.com/project/mps....html#design.mps.sig.check.arg.unlocked>
Test procedureargerr/76.c
Created byGareth Rees
Created on2014-10-13 17:06:56
Last modified byGareth Rees
Last modified on2014-10-20 17:04:53
History2014-10-13 GDR Created.

Fixes

Change Effect Date User Description
187240 closed 2014-10-13 17:31:50 Gareth Rees Check arena argument in LDAdd, LDMerge and LDIsStaleAny.