Issue Information
-
#008171
-
0 - None Assigned
-
Fixed
Issue Confirmations
-
Yes (0)No (0)
char-server crashes when a player login while map-server is executing OnInterIfInit/OnInterIfInitOnce events.
To reproduce the issue, run the following script:
- script test -1,{
OnInterIfInit:
freeloop(1);
for( ; ; ) ;
}
login a character while map-server is executing the event.
fix:
char.c
ARR_FIND( 0, ARRAYLENGTH(server), server_id, server[server_id].fd > 0 && server[server_id].map[0] );
change to
ARR_FIND( 0, ARRAYLENGTH(server), server_id, server[server_id].fd > 0 && server[server_id].map );
To reproduce the issue, run the following script:
- script test -1,{
OnInterIfInit:
freeloop(1);
for( ; ; ) ;
}
login a character while map-server is executing the event.
fix:
char.c
ARR_FIND( 0, ARRAYLENGTH(server), server_id, server[server_id].fd > 0 && server[server_id].map[0] );
change to
ARR_FIND( 0, ARRAYLENGTH(server), server_id, server[server_id].fd > 0 && server[server_id].map );