[Bug 14226] New: Fileplanet Comrade installer can't create app xml file (xpath query result handling)

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Jul 1 16:03:48 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=14226

           Summary: Fileplanet Comrade installer can't create app xml file
                    (xpath query result handling)
           Product: Wine
           Version: CVS/GIT
          Platform: PC
               URL: http://www.fileplanet.com/164906/160000/fileinfo/GameSpy
                    -Comrade-Instant-Messenger
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: msxml3
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: focht at gmx.net


Hello,

now that the installer's .NET 1.1 download and installation works
(http://bugs.winehq.org/show_bug.cgi?id=9723), the next one.
The installer fails in msi custom action to create app xml .config file.
Obvious msxml3 bug(s) which are fixed by native override.

Relevant trace:

--- snip ---
002c:trace:msi:HANDLE_CustomType1 Calling function L"ISXmlInstall" from
L"C:\\windows\\temp\\msifd1f.tmp"
..
0032:trace:msi:ACTION_CallDllFunction calling L"ISXmlInstall"
..
0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: Installing 1 XML
component(s) 2:  ")
..
0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: Installing XML Component
'Comrade.exe.config' 2:  ")
..
0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: Installing XML file
'C:\\Program Files\\GameSpy\\Comrade\\Comrade.exe.config' 2:  ")
..
0032:trace:msi:MSI_ProcessMessage ((nil) 0 800 L"1: 2 2: 1 3: 0 ")
..
0032:trace:msi:MSI_ProcessMessage ((nil) 0 100 L"Action 21:14:57: Progress
Custom Action. Creating XML file C:\\Program
Files\\GameSpy\\Comrade\\Comrade.exe.config...")
..
0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: Setting root element name to
'configuration'. Namepace = '' 2:  ")
..
0032:trace:msi:MSI_ProcessMessage ((nil) 0 100 L"Action 21:14:57: Progress
Custom Action. Updating XML file C:\\Program
Files\\GameSpy\\Comrade\\Comrade.exe.config...")
..
0032:trace:msi:MSI_ProcessMessage INSTALLMESSAGE_ACTIONSTART: L"Updating XML
file C:\\Program Files\\GameSpy\\Comrade\\Comrade.exe.config..."
..
0032:trace:msxml:DOMDocument_create ((nil),0x7ec4a29c)
0032:trace:msxml:xmldoc_add_ref 1
0032:trace:msxml:Internal_QueryInterface 0x716444
{2933bf80-7b36-11d2-b20e-00c04f983e60} 0x7162e4
0032:trace:msxml:domdoc_AddRef 0x7162c0
0032:trace:msxml:domdoc_Release 0x7162c0
0032:trace:msxml:DOMDocument_create returning iface 0x7162c0
0032:trace:msxml:domdoc_QueryInterface 0x7162c0
{2933bf95-7b36-11d2-b20e-00c04f983e60} 0x7ec4a354
0032:trace:msxml:domdoc_AddRef 0x7162c0
0032:trace:msxml:domdoc_Release 0x7162c0
..
0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: Using MSXML version 3 2:  ")
..
0032:trace:msxml:domdoc_put_resolveExternals 0
0032:trace:msxml:domdoc_put_validateOnParse 0
0032:trace:msxml:domdoc_AddRef 0x7162c0
0032:trace:msxml:domdoc_Release 0x7162c0
0032:trace:msxml:domdoc_AddRef 0x7162c0
0032:trace:msxml:domdoc_Release 0x7162c0
..
0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: XML file 'C:\\Program
Files\\GameSpy\\Comrade\\Comrade.exe.config' does not exist. Creating using
root element <configuration>... 2:  ")
..
0032:trace:msxml:domdoc_loadXML 0x7162c0 L"<?xml version=\"1.0\"
encoding=\"UTF-8\"?> \r\n\r\n<configuration></configuration>" 0x7ec4a36c
0032:trace:msxml:xmldoc_release 0
0032:trace:msxml:xmldoc_release freeing docptr 0x7d5bb360
0032:trace:msxml:xmldoc_add_ref 1
0032:trace:msxml:domdoc_get_documentElement 0x7162c0 0x716440
0032:trace:msxml:create_node type 1
0032:trace:msxml:xmldoc_add_ref 2
..
0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: Processing XPath
'//appSettings/add[@key=\"BigBuddies.Subscribe\"]' 2:  ")
..
0032:trace:msxml:xmlnode_selectNodes 0x716480
L"//appSettings/add[@key=\"BigBuddies.Subscribe\"]" 0x7ec4a314
0032:trace:msxml:queryresult_create (0x7d5c0580,
L"//appSettings/add[@key=\"BigBuddies.Subscribe\"]", 0x7ec4a314)
0032:trace:msxml:xmldoc_add_ref 3
0032:trace:seh:raise_exception code=c0000005 flags=0 addr=0x61009fe1
0032:trace:seh:raise_exception  info[0]=00000000
0032:trace:seh:raise_exception  info[1]=00000000
0032:trace:seh:raise_exception  eax=00000000 ebx=6101b36c ecx=00000031
edx=0072e420 esi=7ec4a5c8 edi=7ec4a314
0032:trace:seh:raise_exception  ebp=7ec4a240 esp=7ec4a1f8 cs=0073 ds=007b
es=007b fs=0033 gs=003b flags=00210202
..
0032:trace:msxml:xmldoc_release 2
..
0032:trace:msxml:xmldoc_release 1
0032:trace:msxml:domdoc_Release 0x7162c0
0032:trace:msxml:xmldoc_release 0
0032:trace:msxml:xmldoc_release freeing docptr 0x7d5c0510
..
0032:err:msi:ACTION_CallDllFunction Custom action
(L"C:\\windows\\temp\\msifd1f.tmp":L"ISXmlInstall") caused a page fault:
c0000005 
--- snip ---

The reason of the crash is that msxml3 doesn't check the node set for NULL
(xpath query result) before looking at count of nodes.

"This->result->nodesetval->nodeNr" 

Such code is dangerous.
The NULL check of 'This->result' isn't enough because the node set can be NULL
too.
All occurrences should be replaced by 'safe' libxml2 macros.

Regards


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list