To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=76245





------- Additional comments from [EMAIL PROTECTED] Thu Apr 12 15:57:02 +0000 
2007 -------
So, firstly, thanks for the nice trace - most helpful. This is extremely curious
however:

0x40b4c732 in rtl_str_hash_intern (pHash=0x4405edb0, pString=0x40b759f8,
can_return=0)
    at /export/home/cd100003/sal/rtl/source/hash.cxx:74
74          pString->refCount |= SAL_STRING_INTERN_FLAG;
Current language:  auto; currently c++

The code immediately before this is:

    if (!can_return) // branch taken, as above can_return == 0
    {
        rtl_uString *pCopy = NULL;
        rtl_uString_newFromString( &pCopy, pString );
        pString = pCopy;
        if (!pString)
            return NULL;
    }

    pString->refCount |= SAL_STRING_INTERN_FLAG;

So - pString is memory returned from rtl_uString_newFromString - so it seems
rather extraordinary that it would return invalid memory.

On the other hand - it -looks- like the code simply doesn't handle the case 
where we intern ourselves that well:

void SAL_CALL rtl_uString_intern( rtl_uString ** newStr,
                                  rtl_uString  * str)
{
... /* causes problems if *newStr == str */ ...
        if (*newStr)
        {
            rtl_uString_release (*newStr);
            *newStr = NULL;
        }
        rtl_ustring_intern_internal( newStr, str, CANNOT_RETURN );
    }
}

But, oddly that code should never be called; cf. ustring.hxx:

        rtl_uString * pNew = 0;
        rtl_uString_intern( &pNew, pData );

pNew is (in every case here) NULL.

So, in a nut-shell, it's rather unclear how this could happen :-) and/or I'd
love to blame pathalogical heap corruption outside my scope.

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to