The bug is exatly here:
static void stop_process_after(CPROCESS *_object)
{
......
/* Vidage du tampon de sortie */
if (THIS->out >= 0)
{
stream = CSTREAM_stream(THIS);
while (!STREAM_eof(stream)) <---- HERE IT FINISHES WITH A SEGFAULT
{
stream->process.read_something = FALSE;
....
Regards,
Daniel Campos