https://bugs.kde.org/show_bug.cgi?id=445119
Bug ID: 445119 Summary: Issues with code ignoring and possibly dereferencing nullptr Product: umbrello Version: Git Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: general Assignee: umbrello-de...@kde.org Reporter: c...@roberthairgrove.com Target Milestone: --- Using Umbrello from Git/master: In file "component.cpp" at line 58 in the method "UMLComponent::saveToXMI1()": for (UMLObjectListIt objectsIt(m_objects); objectsIt.hasNext();) { UMLObject* obj = objectsIt.next(); uIgnoreZeroPointer(obj); obj->saveToXMI1 (writer); } What happens if "obj" == nullptr? A warning is emitted by "uIgnoreZeroPointer", but "obj" is dereferenced after that anyway, which causes undefined behavior according to the C++ standard. I found instances of similar behavior in about 60 other files. Which gives rise to the next question: Why are null pointers being stored in the "m_objects" collection? Instead of an error or warning, this should be handled by an assert() or something similar, causing the program to exit, preferably in code which appends the pointers to the collection. -- You are receiving this mail because: You are watching all bug changes.