SIGPIPE
, and wouldn't be trapped. Further analysis
showed that the function SockList_ReadPacket()
in the
file lowlevel.c did not check for ECONNRESET
as a
possible result from ReadPacket()
on non-Windows
platforms. Adding code that checks for this condition and then closes
the socket fixed this problem. Applied to CVS 2006-09-02
surround_flag3()
in wall.c generated
SIGSEGV
as a result of out-of-bounds on the
spaces[]
array of the map struct. To resolve this,
boundry checking is now performed within the function. Out-of-bounds
parameters now cause 0
to be returned. Additionally, the
i
and j
parameters were changed from type
sint16
to type int
. This matches the types
passed to the parent function find_enclosed_spot()
in
treasure.c. Applied to CVS 2006-09-04
DEBUG
mode so that good traces are (usually) generated.