Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


Hi Julien,

On Sat, Feb 22, 2014 at 07:05:39AM -0800, julien2412 <serval2412@yahoo.fr> wrote:
On pc Debian x86-64 with master sources updated yesterday, I reproduced the
crash fdo51430-1.doc.
The bt shows a failing assert because of the line 2423 of this block:
   2415         else
   2416         {
   2417             //What I do here, is that I examine the attributes, and
if
   2418             //I find out, that it's CJK/CTL, then I set the
paragraph space
   2419             //to the value set in
HTML_CJK_PARSPACE/HTML_CTL_PARSPACE.
   2420 
   2421             sal_Bool bIsCJK = false;
   2422             sal_Bool bIsCTL = false;
   2423             SwpHints& rHints = pTxtNode->GetSwpHints(); //// HERE
   2424             sal_uInt16 nWhich;
   2425             SwTxtAttr *pHt;

(see
http://opengrok.libreoffice.org/xref/core/sw/source/filter/html/swhtml.cxx#2415)

If I check pTxtNode->HasHints()  on SwHTMLParser::AddParSpace in
sw/source/filter/html/swhtml.cxx, no crash. But as often, I wonder if it's
the good fix or if I just hide a bug

In general, GetSwpHints() should only be used after a HasHints() call.
In an import filter, once again in general you are supposed to handle
all kind of strange user input. Based on that, I would just add the
HasHints() check there, unless you want to spend time on checking if the
bugdoc crashed in older versions as well (and if it did not, why that
didn't happen).

Miklos

Attachment: signature.asc
Description: Digital signature


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.