You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
memtrack: a safe memory check clears an earlier violation (SD-03) #36
A memory check that finds the access safe resets the analysis result to OK, which erases any earlier violation, including one recorded by set_false_result (for example REACHABILITY). Documented as SD-03 in docs/semantic-deltas.md (PR #35).
Reproduce (links against libmap2check.a, no features):
Legacy: in the C library embedded in Map2Check, every violation ends in map2check_error() → map2check_exit() → abort() (lib_old/Map2CheckFunctions.c:72-102 on origin/refactory_memory_log), so the first violation is final. For loads, the error is deferred through ERROR_DEREF and raised by map2check_check_deref (lib_old/AnalysisModeMemtrack.c:156-162, 295-300), but it is still never cleared.
Likely cause:reset_result_metadata() at the start of map2check_check_load, map2check_check_free, map2check_check_free_resolved_address, map2check_check_deref and map2check_check_mem_endprog in rust/src/ffi.rs.
Activity
docs: link suspected regressions to their issues (#5)