https://gitlab.synchro.net/main/sbbs/-/commit/18ddb2e73bed00cece5f829a
Modified Files:
src/xpdev/genwrap.c
Log Message:
xp_popen(): don't reuse the output buffer after a failed realloc
On Windows, xp_popen() grows its output buffer with realloc_or_free(),
which frees the old buffer when realloc() fails. The failure branch broke
out of the read loop without clearing the pointer, so the line-splitting
loop that follows read freed memory and the free() at the end released
it a second time.
The pointer is now cleared, leaving the same state as a command that
produced no output. The POSIX side reads straight into the string list
and never reallocates, so it is unaffected.
Co-Authored-By: Claude Opus 5.5 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net