https://gitlab.synchro.net/main/sbbs/-/commit/15a5c95743596ebb666ecbbd
Modified Files:
src/uifc/uifc32.c uifcx.c
Log Message:
Fix four bugs in uifc library
uifcx.c + uifc32.c: Fix inverted fseek() check in help() — fseek
returns 0 on success, so (== 0) break was stopping the help index
search at the first non-matching entry instead of continuing.
uifcx.c: Fix stack buffer overflow in uinput() — getstr(str, max)
could write up to max bytes into a 256-byte stack buffer. Use
malloc(max + 1) instead.
uifc32.c: Add bounds check to savnum scan in ulist() — the while
loop searching for a free sav[] slot had no upper bound, reading
past the MAX_BUFS-sized array. Cap at MAX_BUFS - 1 and free any
existing buffer in that slot.
Co-Authored-By: Claude Opus 4.6 <
noreply@anthropic.com>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)