[CrystalSpace] #990: NULL pointer crash if library file doesn't contain <library> tag (fix included)
"CrystalSpace" <[email protected]> Sun, 21 Jul 2013 17:59:40 -0000
| Newsgroups | gmane.comp.graphics.crystalspace.tracker |
|---|---|
| Message-ID | <[email protected]> |
#990: NULL pointer crash if library file doesn't contain <library> tag (fix
included)
---------------------------+------------------------------------------------
Reporter: ralphcampbell | Owner: admin
Type: defect | Status: new
Priority: major | Milestone:
Component: loader | Version: V2.1
Keywords: |
---------------------------+------------------------------------------------
In a map file I added a <library>somefile</library> where the somefile
didn't start with <library> and end with </library>.
This resulted in a NULL pointer dereference.
Another way to fix this would be to return an error but I found it useful
to be able to include the file without having to change the contents since
libraries can contain almost any other elements.
{{{
Index: plugins/csparser/csthreadedloader.cpp
===================================================================
--- plugins/csparser/csthreadedloader.cpp (revision 39501)
+++ plugins/csparser/csthreadedloader.cpp (working copy)
@@ -1821,6 +1821,10 @@
{
// Do the quick pre-parse.
csRef<iDocumentNode> lib_node = doc->GetRoot()->GetNode("library");
+ if (!lib_node)
+ {
+ lib_node = doc->GetRoot();
+ }
ParseAvailableObjects(dynamic_cast<csLoaderContext*>((iLoaderContext*)ldr_context),
lib_node, *libs, *libIDs);
// Add info to arrays later.
}}}
--
Ticket URL: <http://www.crystalspace3d.org/trac/CS/ticket/990>
CrystalSpace <http://www.crystalspace3d.org/>
Free open-source 3D SDK.
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk