Ticket #190 (closed defect: fixed)

Opened 14 months ago

Last modified 14 months ago

R_Trace segfault on q1dm6

Reported by: jdolan Owned by: jdolan
Priority: critical Component: quake2world
Keywords: Cc: wickedshell

Description

There's a crash in cmodel.c from R_Trace on the old q1dm6 map (branches/pre-per-pixel). This may also be the same crash WickedShell? found on the stock Quake2 "Security" map.

Change History

Changed 14 months ago by jdolan

  • status changed from new to closed
  • resolution set to fixed

r1536 and r1538 were committed against this. The crash no longer occurs. What was happening is that some older maps have invalid (negative) head_node offsets. All legacy Quake2 engines have a conditional for this, and they safely (but stupidly) ignore these sub-models. I've re-added a similar code path to r_bsp_model.c.

It might be worth investigating why the map tools spit out negative numbers for sub-models if any of our newer maps ever exhibit this behavior. They currently do not, but I've left a Com_Warn in place for when this happens, so we will certainly see it if it ever comes up.

Closing this out as fixed.

Note: See TracTickets for help on using tickets.