nx_fnres_offset_probe.nx
buildroot/runtime/nx_fnres_offset_probe.nx
about
nx_fnres_offset_probe.nx -- proves the FNRES offset desync is fixed (debt 1785521219).
THE DEFECT: nx_autofix_auto's fn_failing clamped the parsed name to 23 bytes, then located the
`passed` and `total` fields at `r + 6 + nl + 1` -- i.e. from the CLAMPED length. For any function
name longer than 23 characters that offset lands INSIDE the name, the digit scan hits letters and
bails, and `passed` stays 0. The tool then reports ZERO TESTS PASSED for a function that passed all
of them -- a wrong NUMBER, not a crash, in a tool that judges fixes by that number.
THIS PROBE USES A 30-CHAR NAME (over the 23 clamp) so it exercises exactly the broken path.
With the old code T2 reads passed=0; with the fix it reads passed=7.
expect_exit: 0 license_tier: ORIGINAL
dependencies 1 imports · 0 importers
imports: nx_syscalls.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 15 | func fo_w(s: *u8) -> i64 |
| 22 | func fo_len(s: *u8) -> i64 |
| 29 | func fo_parse_passed(row: *u8, namebuf: *u8) -> i64 |
| 43 | func fo_parse_passed_old(row: *u8, namebuf: *u8) -> i64 |
| 55 | func main() -> i64 |