[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))