https://gitlab.synchro.net/main/sbbs/-/commit/9684acff780621441b3c1194
Modified Files:
src/syncterm/ripper.c
Log Message:
Fix parse_mega() buffer overreads
Many places were calling parse_mega() without checking the return
value, then calling parse_mega() on the string AFTER the previous
one. This means that on truncated invalid RIP sequences, ripper
would read past the end of the allocation.
This fix was complicated by the fact that the "last" item in a
parameter list can be truncated as long as it has at least one
valid byte in it.
This now uses a vararg function and parses them all at once (mostly).
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)