[Gtkradiant] [Bug 796] New: maphl (part of mapq3) crash if api 'VFS' minor 'wad' is not in synapse.config

gtkradiant@zerowing.idsoftware.com gtkradiant@zerowing.idsoftware.com
Thu, 10 Apr 2003 04:49:43 -0500


http://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=796

           Summary: maphl (part of mapq3) crash if api 'VFS' minor 'wad' is
                    not in synapse.config
           Product: GtkRadiant
           Version: 1.3
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: editor
        AssignedTo: ttimo@idsoftware.com
        ReportedBy: havoc@telefragged.com


"maphl" module depends on "VFS" "wad" APIs but still initializes if it is not
found in the synapse.config, this results in a crash when loading a map (vfs
calls die because g_FileSystemTable is uninitialized).

things to fix:
1. when mapq3 module provides a "maphl" minor, the EnumerateInterfaces needs to
require 'VFS' 'wad' API. (it's not needed for the "mapq3" minor)
2. when activated, the module must check that all it's dynamic APIs have been
initialized.
3. the HalfLifePack synapse.config needs to be fixed.

similar problems may exist elsewhere (?), I would recommend a quick review of
all similar code in other plugins to be sure.

quick navigation to the problem code:
mapq3/plugin.cpp Synapse_EnumerateInterfaces
while(g_pSynapseServer->GetNextConfig(&api, &minor))