DF-2564 / run.log
PRED1[mode=1 inlen=3639]: compress rc=0 out=0xfffff80118478800 stats.FramesPlain=1 (must be 1)
out pkt len=3643 (uncompressed branch taken)
outbuf highest nonzero index: 4127 (outbuf is [0..4095]; >4095 = past the array)
outbuf[4094..4103]: 8a 8b 00 00 00 00 00 00 00 01
layout: sizeof(cfg)=1 &stats-&outbuf=4103 sizeof(priv)=73800
stats.FramesPlain raw bytes: 01 00 00 00 00 00 00 00
PRED1: RESULT=no overflow (bound held this input)
PRED1[mode=2 inlen=3645]: compress rc=0 out=0xfffff80118893200 stats.FramesPlain=1 (must be 1)
out pkt len=3649 (uncompressed branch taken)
outbuf highest nonzero index: 4127 (outbuf is [0..4095]; >4095 = past the array)
outbuf[4094..4103]: 8a 8b bc 00 8d 8e 8f d0 d6 01
layout: sizeof(cfg)=1 &stats-&outbuf=4103 sizeof(priv)=73800
stats.FramesPlain raw bytes: 01 00 00 00 00 00 00 00
PRED1: RESULT=fixed model did not reject?
PRED1[mode=3]: seed frame rc=5
PRED1[mode=3]: 2-byte compressed frame rc=5 stats.Errors=2
GuessTable nonzero entries after: 5
dmesg check: 'ng_pred1: Comp length error' logged with len=-1 proves the 4096-iteration dlen-exhausted walk
PRED1: RESULT=UNDERFLOW: inlen-4=-2 fed Pred1Decompress; slen=-2 looped until dlen exhaustion (EIO + dictionary corruption
PRED1[FIXED]: inlen=2 < 4 rejected by the minimum-size guard