src/xpdev link_list.c 1.53 1.54
Update of /cvsroot/sbbs/src/xpdev
In directory cvs:/tmp/cvs-serv12220
Modified Files:
link_list.c
Log Message:
Fixed bug discovered by Noel Romey on Windows: when listFree() is called with
a linked list which had previously been freed, it would try to destroy the mutex (Win32 critical section) which had already been destroyed and cause a crash. Clear the LIST_MUTEX (and LIST_SEMAPHORE) flags after freeing those resources to prevent this double-free issue.
This bug was apparently triggered by the web server (listFree(&log_list) in cleanup()) because cleanup() can be called in some recycle failure cases
(e.g. ports cannot rebind) *before* listInit() is called. Some *other* error following a recycle must preced this bug/crash.
Thanks to Noel for helping with the debugging (capturing callstack with MSVC).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net