ioq3quest/code/botlib
Zack Middleton fc16ac6bd2 Fix invalid access to cluster 0 in AAS_AreaRouteToGoalArea()
Newer versions of BSPC such as 2.1h included with the Quake 3 GPL source
code create AAS files containing areas in cluster 0 if the area has no
reachabilities.

The AAS files included with Quake 3 and Team Arena do not contain areas
in cluster 0. It's apparent that BSPC would not create them. Instead it
created clusters with no reachability areas.

It seems the intention was to check if the areanum and goalareanum have
reachable areas using AAS_AreaReachability(areanum) everywhere before
calling AAS_AreaRouteToGoalArea(). This prevents adding cluster 0 to
the routing cache and portal cache. However, it is not checked
everywhere and including some places in the Game VM.

Fix AAS_AreaRouteToGoalArea() instead of trying to wack-a-mole with all
the places that call it.

Cluster 0 access reported by Thomas Köppe (github @tkoeppe) as causing
crashes in rare cases.
2018-02-04 09:07:44 -06:00
..
aasfile.h Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
be_aas.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_bsp.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_bspq3.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
be_aas_cluster.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
be_aas_cluster.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_debug.c Fix memory leak in (unused) AAS_FloodAreas() 2017-10-07 08:02:24 -05:00
be_aas_debug.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_def.h [botlib/be_aas_def.h] Change array size from MAX_PATH to MAX_QPATH 2017-10-04 21:41:41 -05:00
be_aas_entity.c [botlib] Use floating point absolute value rather than truncate to integer 2016-07-25 18:36:31 +01:00
be_aas_entity.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_file.c Fix swapping AAS bboxes 2017-02-27 18:18:15 -06:00
be_aas_file.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_funcs.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_main.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
be_aas_main.h Remove unused config string code from botlib 2013-02-27 15:55:01 -06:00
be_aas_move.c Fix friction in AAS_ClientMovementPrediction 2017-08-02 15:05:46 -05:00
be_aas_move.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_optimize.c * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_optimize.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_reach.c Correct spelling of two more words 2017-11-22 20:17:21 -06:00
be_aas_reach.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_route.c Fix invalid access to cluster 0 in AAS_AreaRouteToGoalArea() 2018-02-04 09:07:44 -06:00
be_aas_route.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_routealt.c * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_routealt.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_aas_sample.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
be_aas_sample.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_ai_char.c drop some useless return statements 2013-05-30 15:43:21 -05:00
be_ai_char.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_ai_chat.c Correct spelling of two more words 2017-11-22 20:17:21 -06:00
be_ai_chat.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_ai_gen.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
be_ai_gen.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_ai_goal.c Don't redefine MAX_PATH in bot code 2017-10-04 22:13:50 -05:00
be_ai_goal.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_ai_move.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
be_ai_move.h * Merge unified-sdl to trunk 2007-09-05 18:17:46 +00:00
be_ai_weap.c Don't redefine MAX_PATH in bot code 2017-10-04 22:13:50 -05:00
be_ai_weap.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_ai_weight.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
be_ai_weight.h Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
be_ea.c Remove unused define MAX_COMMANDARGUMENTS from be_ea.c 2017-06-07 21:11:38 -05:00
be_ea.h * Added STATUS 2005-10-29 01:53:09 +00:00
be_interface.c Don't allow qagame module to create "botlib.log" at ANY filesystem location 2017-12-23 16:41:13 -06:00
be_interface.h Renamed bot_developer to botDeveloper to prevent symbol clash. 2009-09-15 01:44:58 +00:00
botlib.h Use const char pointers when possible in botlib's libvar code 2017-06-07 18:54:49 -05:00
l_crc.c Adding missing header includes to botlib files. Thanks to Ben Millwood for patch. (#4237) 2009-10-18 00:28:38 +00:00
l_crc.h * Added STATUS 2005-10-29 01:53:09 +00:00
l_libvar.c Use const char pointers when possible in botlib's libvar code 2017-06-07 18:54:49 -05:00
l_libvar.h Use const char pointers when possible in botlib's libvar code 2017-06-07 18:54:49 -05:00
l_log.c Make FS_BuildOSPath for botlib.log consistent with typical usage 2017-12-23 17:01:08 -06:00
l_log.h Bug 4812 - GCC __attribute__ annotations for printf, non-returning functions etc., patch by linux@youmustbejoking.demon.co.uk and Zack Middleton 2011-07-18 14:56:57 +00:00
l_memory.c Adding missing header includes to botlib files. Thanks to Ben Millwood for patch. (#4237) 2009-10-18 00:28:38 +00:00
l_memory.h * Added STATUS 2005-10-29 01:53:09 +00:00
l_precomp.c Don't redefine MAX_PATH in bot code 2017-10-04 22:13:50 -05:00
l_precomp.h Don't redefine MAX_PATH in bot code 2017-10-04 22:13:50 -05:00
l_script.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
l_script.h REFACTOR [a vs an] 2012-06-18 16:31:16 +00:00
l_struct.c Fix strncpy usage in botlib 2017-06-07 21:48:01 -05:00
l_struct.h * Added STATUS 2005-10-29 01:53:09 +00:00
l_utils.h Don't redefine MAX_PATH in bot code 2017-10-04 22:13:50 -05:00