To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=59722
                  Issue #:|59722
                  Summary:|gcc-4.1: undefined usage of pointers in the icu
                          |module
                Component:|porting
                  Version:|680m142
                 Platform:|PC
                      URL:|
               OS/Version:|Linux
                   Status:|NEW
        Status whiteboard:|
                 Keywords:|
               Resolution:|
               Issue type:|PATCH
                 Priority:|P3
             Subcomponent:|code
              Assigned to:|mh
              Reported by:|pmladek





------- Additional comments from [EMAIL PROTECTED] Fri Dec 23 09:25:14 -0800 
2005 -------
We had many crashes of OOo compiled with gcc-4.1.

The problem was in the icu module. It used undefined operations with poiters.

The following code is invalid of as 6.5.6/8 of the C standard and it caused
crashes with gcc-4.1:
--- cut ---
#    define U_MAX_PTR(base) ((void *)(((char *)(base)+0x7fffffff) > (char
*)(base) ? ((char *)(base)+0x7fffffff) : (char *)-1))
--- cut ---


Note that the following uses invoke undefined behavior wrt the standard
--- cut ---
   const char* t = *target;                                                     
    if (targetLimit < t || sourceLimit < *source)

    if((size_t)(targetLimit - t) > (size_t)0x7fffffff && targetLimit > t)  
--- cut ---
iff the two pointers you compare or get the difference from do not point to
the same memory object (or one element beyond).  Basically, pointer arithmetic
and comparison is only defined for pointers pointing to the same memory object
(or one element beyond).  All this checking should be done in the respective
unsigned integer types.

I did not see a crash with it but I think that it was to fix it as well.

I'll attach a patch.

---------------------------------------------------------------------
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