myxce/.wolf
lei.chen 00f81c5aa8 fix(testsuite): declare makeResource properly + symmetric teardown in external-skips-inuse test
bug-1979: test.c never included resobj.h, so makeResource() was an
implicitly declared function in this TU -- its 64-bit pointer return was
truncated to int (0x50b000000118 -> 0x118) and sign-extended back.
Dormant since E2 Phase 1 (the test only TEST_ASSERT_NOT_NULL'd it and
re-derived the real pointer via key_find); the leak-fix teardown's
dereference(made) was its first real use and SEGV'd under
ASAN_OPTIONS=detect_leaks=1 (the xce-build.sh all direct-run step).

- include resobj.h: makeResource now declared with its true prototype
- unmeet: memset-only -- sched_check_shared_satisfy_() xvec_idval_init()s
  it itself; the pre-init leaked the vector it replaced (2x4B per call)
- uncomitted: single xvec_init/xvec_fini pair (was init'd twice, fini'd once)
- teardown: collect-then-dereference the refcount-1 resource object, then
  destroy(resmgr), then xstring_table_fini() -- mirrors xce_sched_core_fini()
  (core.c:405)

Verified: ASAN_OPTIONS=detect_leaks=1 direct run rc=0, 17/17 PASS, zero
leak reports; xce-build.sh all green (137/137 suites + manual sched_test
+ Go tests).

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-29 03:22:31 +00:00
..
bugs fix(testsuite): declare makeResource properly + symmetric teardown in external-skips-inuse test 2026-10-29 03:22:31 +00:00
buglog.json fix(testsuite): declare makeResource properly + symmetric teardown in external-skips-inuse test 2026-10-29 03:22:31 +00:00