WineHQ
Bug Tracking Database – Bug 33489

 Bugzilla

 

Last modified: 2021-02-10 12:46:32 UTC  

WinRAR 5.0 beta 1 help causes HH crash

Bug 33489 - WinRAR 5.0 beta 1 help causes HH crash
WinRAR 5.0 beta 1 help causes HH crash
Status: CLOSED FIXED
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: hhctrl.ocx
1.5.29
x86 Linux
: P2 normal
: ---
Assigned To: Erich E. Hoover
https://web.archive.org/web/201306200...
: download, patch
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2013-04-29 10:03 UTC by Artem S. Tashkinov
Modified: 2021-02-10 12:46 UTC (History)
3 users (show)

See Also:
Regression SHA1:
Fixed by SHA1: ee484b3140ee7637f297ed8ed4af86dd1e626416
Distribution: ---
Staged patchset:


Attachments
`wine start WinRAR.chm` backtrace (6.39 KB, text/plain)
2013-04-29 10:03 UTC, Artem S. Tashkinov
Details
Fix node detection (1.76 KB, patch)
2013-05-02 14:03 UTC, Erich E. Hoover
Details | Diff
Fix node detection [v2] (1.42 KB, patch)
2013-05-11 17:00 UTC, Erich E. Hoover
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Artem S. Tashkinov 2013-04-29 10:03:04 UTC
Created attachment 44328 [details]
`wine start WinRAR.chm` backtrace

That's it.
Comment 1 Nikolay Sivov 2013-04-29 10:32:16 UTC
It fails on attribute value that contains '>':

---
0024:trace:htmlhelp:parse_hhindex <LI>
0024:trace:htmlhelp:parse_li <OBJECT type="text/sitemap">
0024:trace:htmlhelp:parse_index_sitemap_object <param name="Name" value="&quot;-oi[-][:<minsize>
0024:warn:htmlhelp:parse_index_obj_node_param value attr not found
---

so <minsize> misinterpreted as end of 'param' element and later it fails to get 'value' attribute value cause there's no closing quotation mark.
Comment 2 Fiona Ebner 2013-05-01 06:38:33 UTC
The failing function is next_node in hhctrl.ocx/stream.c
...
    if(!stream_chr(stream, NULL, '<'))
        return FALSE;

    if(!stream_chr(stream, buf, '>'))
        return FALSE;
...
Comment 3 Erich E. Hoover 2013-05-01 19:36:30 UTC
Wow, I'm surprised that HTML Help will let you get away with not using "&gt;" and "&lt;" there.
Comment 4 Erich E. Hoover 2013-05-02 14:03:18 UTC
Created attachment 44355 [details]
Fix node detection

Please try the attached patch.
Comment 5 Nikolay Sivov 2013-05-02 14:52:10 UTC
I feel like it should be a specialized version of next_node() that expects a node to contain attributes and that these attributes could potentially have mark-up symbols in their values. For this approach it should just scan forward and parse attributes and values, and it's possibly a duplication of what we already have in other helpers. So yeah, using existing code it will look messy anyway.
Comment 6 Fiona Ebner 2013-05-03 09:59:19 UTC
For WinRAR the patch works.

But if a node like
<param name="tagstart" value="<">
appeared, it would still fail (If such a node is valid?)

So the real problem is the quotes (and ' is too possible, or am I wrong)?
Comment 7 Erich E. Hoover 2013-05-11 17:00:28 UTC
Created attachment 44443 [details]
Fix node detection [v2]

The attached patch should provide a better fix, the other one I just tried to whip up as quickly as possible.
Comment 8 Fiona Ebner 2013-05-16 13:37:02 UTC
Thanks, the patch works fine.
Comment 9 Artem S. Tashkinov 2013-08-13 15:20:00 UTC
Why the patch hasn't yet been merged?
Comment 10 Erich E. Hoover 2013-08-13 15:24:48 UTC
(In reply to comment #9)
> Why the patch hasn't yet been merged?

I was hoping to hear back from nsivov on his thoughts about the revised patch.  Also, I'm frequently working on other patches :)
Comment 11 Erich E. Hoover 2014-02-27 15:40:24 UTC
This issue should now be fixed by commit ee484b3140ee7637f297ed8ed4af86dd1e626416.  Please give it a try and let me know if you have any problems/resolve the bug :)
Comment 12 Anastasius Focht 2014-02-27 16:10:01 UTC
Hello folks,

this is indeed fixed by commit http://source.winehq.org/git/wine.git/commitdiff/ee484b3140ee7637f297ed8ed4af86dd1e626416

The help displays correctly now. 

Thanks Erich.

$ sha1sum wrar50b1.exe 
9c7e833798c7540e7a4bb809ea25caebf10f9165  wrar50b1.exe

$ du -sh wrar50b1.exe 
1.7M	wrar50b1.exe

$ wine --version
wine-1.7.13-118-g0eb6265

Regards
Comment 13 Alexandre Julliard 2014-03-07 14:12:35 UTC
Closing bugs fixed in 1.7.14.


Privacy Policy
If you have a privacy inquiry regarding this site, please write to [email protected]

Hosted By CodeWeavers