[umbrello] [Bug 373911] After upgrading to 2.20.90 from version 2.20.3, umbrello crash when I try to open model created with 2.20.3

Ralf Habacker bugzilla_noreply at kde.org
Tue Jan 3 13:14:15 UTC 2017


https://bugs.kde.org/show_bug.cgi?id=373911

Ralf Habacker <ralf.habacker at freenet.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|---                         |FIXED
   Version Fixed In|                            |2.21.1 (KDE Applications
                   |                            |16.12.1)
      Latest Commit|                            |https://commits.kde.org/umb
                   |                            |rello/5b81af759c24895892d8c
                   |                            |628fd610ff43f16fd2c

--- Comment #16 from Ralf Habacker <ralf.habacker at freenet.de> ---
Git commit 5b81af759c24895892d8c628fd610ff43f16fd2c by Ralf Habacker.
Committed on 03/01/2017 at 12:47.
Pushed by habacker into branch 'Applications/16.12'.

Make UMLObject::asUMLxxx() methods able to handle zero pointer as parameter on
windows.

gcc implementation of dynamic_cast consists of an inline part and a
function performing the real cast.

On linux (and may be other platforms) the inline part checks against
null pointer parameter. This check is missing in the related windows
implementation (at least with gcc 6.2) and results into a segfault
on accessing the virtual table in the casting function.

The fix is done using a gcc asm statement to prevent removing by the
optimizer because 'this' parameter is marked as 'notnull' by default.

This patch includes also a few dynamic_cast checks added to the unit
tests.
FIXED-IN:2.21.1 (KDE Applications 16.12.1)

M  +43   -28   umbrello/umlmodel/umlobject.cpp
M  +17   -0    unittests/testbasictypes.cpp
M  +11   -0    unittests/testumlobject.cpp
M  +1    -0    unittests/testumlobject.h

https://commits.kde.org/umbrello/5b81af759c24895892d8c628fd610ff43f16fd2c

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the umbrello-devel mailing list