Hi, Please find the latest report on new defect(s) introduced to LibreOffice found with Coverity Scan. 10 new defect(s) introduced to LibreOffice found with Coverity Scan. 1 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan. New defect(s) Reported-by: Coverity Scan Showing 10 of 10 defect(s) ** CID 1538313: Null pointer dereferences (NULL_RETURNS) ________________________________________________________________________________________________________ *** CID 1538313: Null pointer dereferences (NULL_RETURNS) /sc/source/core/data/documen3.cxx: 725 in ScDocument::SetCalcNotification(short)() 719 return false; 720 } 721 722 void ScDocument::SetCalcNotification( SCTAB nTab ) 723 { 724 // set only if not set before >>> CID 1538313: Null pointer dereferences (NULL_RETURNS) >>> Dereferencing a pointer that might be "nullptr" "pTable" when calling "GetCalcNotification". 725 if (ScTable* pTable = FetchTable(nTab) ; !pTable->GetCalcNotification()) 726 pTable->SetCalcNotification(true); 727 } 728 729 void ScDocument::ResetCalcNotifications() 730 { ** CID 1538312: Null pointer dereferences (NULL_RETURNS) ________________________________________________________________________________________________________ *** CID 1538312: Null pointer dereferences (NULL_RETURNS) /sc/source/core/data/documen3.cxx: 472 in ScDocument::GetScenarioData(short, rtl::OUString &, Color &, ScScenarioFlags &) const() 466 return true; 467 } 468 469 void ScDocument::GetScenarioData( SCTAB nTab, OUString& rComment, 470 Color& rColor, ScScenarioFlags& rFlags ) const 471 { >>> CID 1538312: Null pointer dereferences (NULL_RETURNS) >>> Dereferencing a pointer that might be "nullptr" "pTable" when calling "IsScenario". 472 if (const ScTable* pTable = FetchTable(nTab); pTable->IsScenario()) 473 { 474 pTable->GetScenarioComment( rComment ); 475 rColor = pTable->GetScenarioColor(); 476 rFlags = pTable->GetScenarioFlags(); 477 } ** CID 1538311: Null pointer dereferences (NULL_RETURNS) ________________________________________________________________________________________________________ *** CID 1538311: Null pointer dereferences (NULL_RETURNS) /sc/source/core/data/documen3.cxx: 441 in ScDocument::SetScenarioData(short, const rtl::OUString &, const Color &, ScScenarioFlags)() 435 return pTable && pTable->IsScenario(); 436 } 437 438 void ScDocument::SetScenarioData( SCTAB nTab, const OUString& rComment, 439 const Color& rColor, ScScenarioFlags nFlags ) 440 { >>> CID 1538311: Null pointer dereferences (NULL_RETURNS) >>> Dereferencing a pointer that might be "nullptr" "pTable" when calling "IsScenario". 441 if (ScTable* pTable = FetchTable(nTab); pTable->IsScenario()) 442 { 443 pTable->SetScenarioComment( rComment ); 444 pTable->SetScenarioColor( rColor ); 445 pTable->SetScenarioFlags( nFlags ); 446 } ** CID 1538310: Incorrect expression (USELESS_CALL) ________________________________________________________________________________________________________ *** CID 1538310: Incorrect expression (USELESS_CALL) /sc/source/core/data/documen3.cxx: 664 in ScDocument::GetSheetEvents(short) const() 658 return *mxFormulaParserPool; 659 } 660 661 const ScSheetEvents* ScDocument::GetSheetEvents( SCTAB nTab ) const 662 { 663 if (const ScTable* pTable = FetchTable(nTab)) >>> CID 1538310: Incorrect expression (USELESS_CALL) >>> Calling "pTable->GetSheetEvents()" is only useful for its return value, which is ignored. 664 pTable->GetSheetEvents(); 665 return nullptr; 666 } 667 668 void ScDocument::SetSheetEvents( SCTAB nTab, std::unique_ptr<ScSheetEvents> pNew ) 669 { ** CID 1538309: (PASS_BY_VALUE) /workdir/UnpackedTarball/frozen/include/frozen/map.h: 97 in frozen::map<vcl::PDFWriter::StructElement, const char *, (unsigned long)38, std::less<vcl::PDFWriter::StructElement>>::map(frozen::bits::carray<std::pair<vcl::PDFWriter::StructElement, const char *>, (unsigned long)38>, const std::less<vcl::PDFWriter::StructElement> &)() /workdir/UnpackedTarball/frozen/include/frozen/map.h: 97 in frozen::map<vcl::PDFWriter::StructAttribute, const char *, (unsigned long)23, std::less<vcl::PDFWriter::StructAttribute>>::map(frozen::bits::carray<std::pair<vcl::PDFWriter::StructAttribute, const char *>, (unsigned long)23>, const std::less<vcl::PDFWriter::StructAttribute> &)() /workdir/UnpackedTarball/frozen/include/frozen/map.h: 97 in frozen::map<int, int, (unsigned long)20, std::less<int>>::map(frozen::bits::carray<std::pair<int, int>, (unsigned long)20>, const std::less<int> &)() /workdir/UnpackedTarball/frozen/include/frozen/map.h: 97 in frozen::map<vcl::PDFWriter::StructAttributeValue, const char *, (unsigned long)40, std::less<vcl::PDFWriter::StructAttributeValue>>::map(frozen::bits::carray<std::pair<vcl::PDFWriter::StructAttributeValue, const char *>, (unsigned long)40>, const std::less<vcl::PDFWriter::StructAttributeValue> &)() ________________________________________________________________________________________________________ *** CID 1538309: (PASS_BY_VALUE) /workdir/UnpackedTarball/frozen/include/frozen/map.h: 97 in frozen::map<vcl::PDFWriter::StructElement, const char *, (unsigned long)38, std::less<vcl::PDFWriter::StructElement>>::map(frozen::bits::carray<std::pair<vcl::PDFWriter::StructElement, const char *>, (unsigned long)38>, const std::less<vcl::PDFWriter::StructElement> &)() 91 using reverse_iterator = typename container_type::reverse_iterator; 92 using const_reverse_iterator = 93 typename container_type::const_reverse_iterator; 94 95 public: 96 /* constructors */ >>> CID 1538309: (PASS_BY_VALUE) >>> Passing parameter items of type "frozen::map<vcl::PDFWriter::StructElement, char const *, 38ul, std::less<vcl::PDFWriter::StructElement> >::container_type" (size 608 bytes) by value, which exceeds the high threshold of 512 bytes. 97 constexpr map(container_type items, Compare const &compare) 98 : less_than_{compare} 99 , items_{bits::quicksort(items, less_than_)} {} 100 101 explicit constexpr map(container_type items) 102 : map{items, Compare{}} {} /workdir/UnpackedTarball/frozen/include/frozen/map.h: 97 in frozen::map<vcl::PDFWriter::StructAttribute, const char *, (unsigned long)23, std::less<vcl::PDFWriter::StructAttribute>>::map(frozen::bits::carray<std::pair<vcl::PDFWriter::StructAttribute, const char *>, (unsigned long)23>, const std::less<vcl::PDFWriter::StructAttribute> &)() 91 using reverse_iterator = typename container_type::reverse_iterator; 92 using const_reverse_iterator = 93 typename container_type::const_reverse_iterator; 94 95 public: 96 /* constructors */ >>> CID 1538309: (PASS_BY_VALUE) >>> Passing parameter items of type "frozen::map<vcl::PDFWriter::StructAttribute, char const *, 23ul, std::less<vcl::PDFWriter::StructAttribute> >::container_type" (size 368 bytes) by value, which exceeds the medium threshold of 256 bytes. 97 constexpr map(container_type items, Compare const &compare) 98 : less_than_{compare} 99 , items_{bits::quicksort(items, less_than_)} {} 100 101 explicit constexpr map(container_type items) 102 : map{items, Compare{}} {} /workdir/UnpackedTarball/frozen/include/frozen/map.h: 97 in frozen::map<int, int, (unsigned long)20, std::less<int>>::map(frozen::bits::carray<std::pair<int, int>, (unsigned long)20>, const std::less<int> &)() 91 using reverse_iterator = typename container_type::reverse_iterator; 92 using const_reverse_iterator = 93 typename container_type::const_reverse_iterator; 94 95 public: 96 /* constructors */ >>> CID 1538309: (PASS_BY_VALUE) >>> Passing parameter items of type "frozen::map<int, int, 20ul, std::less<int> >::container_type" (size 160 bytes) by value, which exceeds the low threshold of 128 bytes. 97 constexpr map(container_type items, Compare const &compare) 98 : less_than_{compare} 99 , items_{bits::quicksort(items, less_than_)} {} 100 101 explicit constexpr map(container_type items) 102 : map{items, Compare{}} {} /workdir/UnpackedTarball/frozen/include/frozen/map.h: 97 in frozen::map<vcl::PDFWriter::StructAttributeValue, const char *, (unsigned long)40, std::less<vcl::PDFWriter::StructAttributeValue>>::map(frozen::bits::carray<std::pair<vcl::PDFWriter::StructAttributeValue, const char *>, (unsigned long)40>, const std::less<vcl::PDFWriter::StructAttributeValue> &)() 91 using reverse_iterator = typename container_type::reverse_iterator; 92 using const_reverse_iterator = 93 typename container_type::const_reverse_iterator; 94 95 public: 96 /* constructors */ >>> CID 1538309: (PASS_BY_VALUE) >>> Passing parameter items of type "frozen::map<vcl::PDFWriter::StructAttributeValue, char const *, 40ul, std::less<vcl::PDFWriter::StructAttributeValue> >::container_type" (size 640 bytes) by value, which exceeds the high threshold of 512 bytes. 97 constexpr map(container_type items, Compare const &compare) 98 : less_than_{compare} 99 , items_{bits::quicksort(items, less_than_)} {} 100 101 explicit constexpr map(container_type items) 102 : map{items, Compare{}} {} ** CID 1538308: Error handling issues (UNCAUGHT_EXCEPT) /sd/source/ui/unoidl/unomodel.cxx: 3511 in SdDocLinkTargetType::SdDocLinkTargetType(SdXImpressDocument *, unsigned short)() ________________________________________________________________________________________________________ *** CID 1538308: Error handling issues (UNCAUGHT_EXCEPT) /sd/source/ui/unoidl/unomodel.cxx: 3511 in SdDocLinkTargetType::SdDocLinkTargetType(SdXImpressDocument *, unsigned short)() 3505 3506 uno::Sequence< OUString > SAL_CALL SdDocLinkTargets::getSupportedServiceNames() 3507 { 3508 return { "com.sun.star.document.LinkTargets" }; 3509 } 3510 >>> CID 1538308: Error handling issues (UNCAUGHT_EXCEPT) >>> An exception of type "com::sun::star::uno::RuntimeException" is thrown but the exception specification "noexcept" doesn't allow it to be thrown. This will result in a call to terminate(). 3511 SdDocLinkTargetType::SdDocLinkTargetType(SdXImpressDocument* pModel, sal_uInt16 nT) noexcept 3512 : mpModel(pModel) 3513 , mnType(nT) 3514 { 3515 maName = SdResId(aTypeResIds[nT]); 3516 } ** CID 1538307: Uninitialized variables (UNINIT) ________________________________________________________________________________________________________ *** CID 1538307: Uninitialized variables (UNINIT) /sc/source/ui/theme/ThemeColorChanger.cxx: 217 in sc::<unnamed>::changeSheets(ScDocShell &, ScDrawLayer *, const std::shared_ptr<model::ColorSet> &)() 211 ScEditDataArray* pDataArray = pUndo->GetDataArray(); 212 213 rDocument.ApplySelectionPattern(aNewPattern, aMark, pDataArray); 214 215 rDocShell.GetUndoManager()->AddUndoAction(std::move(pUndo)); 216 } >>> CID 1538307: Uninitialized variables (UNINIT) >>> Using uninitialized value "aNewPattern.pName._M_payload._M_payload" when calling "~ScPatternAttr". 217 } 218 } 219 220 // Change all SdrObjects 221 { 222 pModel->BeginCalcUndo(true); ** CID 1538306: Error handling issues (UNCAUGHT_EXCEPT) /sd/source/ui/unoidl/unomodel.cxx: 3394 in SdDocLinkTargets::SdDocLinkTargets(SdXImpressDocument &)() ________________________________________________________________________________________________________ *** CID 1538306: Error handling issues (UNCAUGHT_EXCEPT) /sd/source/ui/unoidl/unomodel.cxx: 3394 in SdDocLinkTargets::SdDocLinkTargets(SdXImpressDocument &)() 3388 uno::Sequence< OUString > SAL_CALL SdMasterPagesAccess::getSupportedServiceNames( ) 3389 { 3390 return { "com.sun.star.drawing.MasterPages" }; 3391 } 3392 3393 >>> CID 1538306: Error handling issues (UNCAUGHT_EXCEPT) >>> An exception of type "com::sun::star::uno::RuntimeException" is thrown but the exception specification "noexcept" doesn't allow it to be thrown. This will result in a call to terminate(). 3394 SdDocLinkTargets::SdDocLinkTargets( SdXImpressDocument& rMyModel ) noexcept 3395 : mpModel( &rMyModel ) 3396 { 3397 for (sal_uInt16 i=0; i < SdLinkTargetType::Count; i++) 3398 aNames[i] = SdResId(aTypeResIds[i]); 3399 } ** CID 1538305: Null pointer dereferences (NULL_RETURNS) ________________________________________________________________________________________________________ *** CID 1538305: Null pointer dereferences (NULL_RETURNS) /sc/source/core/data/documen3.cxx: 482 in ScDocument::GetScenarioFlags(short, ScScenarioFlags &) const() 476 rFlags = pTable->GetScenarioFlags(); 477 } 478 } 479 480 void ScDocument::GetScenarioFlags( SCTAB nTab, ScScenarioFlags& rFlags ) const 481 { >>> CID 1538305: Null pointer dereferences (NULL_RETURNS) >>> Dereferencing a pointer that might be "nullptr" "pTable" when calling "IsScenario". 482 if (const ScTable* pTable = FetchTable(nTab); pTable->IsScenario()) 483 rFlags = pTable->GetScenarioFlags(); 484 } 485 486 bool ScDocument::IsLinked( SCTAB nTab ) const 487 { ** CID 1538304: (PASS_BY_VALUE) /workdir/UnpackedTarball/frozen/include/frozen/map.h: 101 in frozen::map<vcl::PDFWriter::StructAttribute, const char *, (unsigned long)23, std::less<vcl::PDFWriter::StructAttribute>>::map(frozen::bits::carray<std::pair<vcl::PDFWriter::StructAttribute, const char *>, (unsigned long)23>)() /workdir/UnpackedTarball/frozen/include/frozen/map.h: 101 in frozen::map<vcl::PDFWriter::StructElement, const char *, (unsigned long)38, std::less<vcl::PDFWriter::StructElement>>::map(frozen::bits::carray<std::pair<vcl::PDFWriter::StructElement, const char *>, (unsigned long)38>)() /workdir/UnpackedTarball/frozen/include/frozen/map.h: 101 in frozen::map<vcl::PDFWriter::StructAttributeValue, const char *, (unsigned long)40, std::less<vcl::PDFWriter::StructAttributeValue>>::map(frozen::bits::carray<std::pair<vcl::PDFWriter::StructAttributeValue, const char *>, (unsigned long)40>)() /workdir/UnpackedTarball/frozen/include/frozen/map.h: 101 in frozen::map<int, int, (unsigned long)20, std::less<int>>::map(frozen::bits::carray<std::pair<int, int>, (unsigned long)20>)() ________________________________________________________________________________________________________ *** CID 1538304: (PASS_BY_VALUE) /workdir/UnpackedTarball/frozen/include/frozen/map.h: 101 in frozen::map<vcl::PDFWriter::StructAttribute, const char *, (unsigned long)23, std::less<vcl::PDFWriter::StructAttribute>>::map(frozen::bits::carray<std::pair<vcl::PDFWriter::StructAttribute, const char *>, (unsigned long)23>)() 95 public: 96 /* constructors */ 97 constexpr map(container_type items, Compare const &compare) 98 : less_than_{compare} 99 , items_{bits::quicksort(items, less_than_)} {} 100 >>> CID 1538304: (PASS_BY_VALUE) >>> Passing parameter items of type "frozen::map<vcl::PDFWriter::StructAttribute, char const *, 23ul, std::less<vcl::PDFWriter::StructAttribute> >::container_type" (size 368 bytes) by value, which exceeds the medium threshold of 256 bytes. 101 explicit constexpr map(container_type items) 102 : map{items, Compare{}} {} 103 104 constexpr map(std::initializer_list<value_type> items, Compare const &compare) 105 : map{container_type {items}, compare} { 106 constexpr_assert(items.size() == N, "Inconsistent initializer_list size and type size argument"); /workdir/UnpackedTarball/frozen/include/frozen/map.h: 101 in frozen::map<vcl::PDFWriter::StructElement, const char *, (unsigned long)38, std::less<vcl::PDFWriter::StructElement>>::map(frozen::bits::carray<std::pair<vcl::PDFWriter::StructElement, const char *>, (unsigned long)38>)() 95 public: 96 /* constructors */ 97 constexpr map(container_type items, Compare const &compare) 98 : less_than_{compare} 99 , items_{bits::quicksort(items, less_than_)} {} 100 >>> CID 1538304: (PASS_BY_VALUE) >>> Passing parameter items of type "frozen::map<vcl::PDFWriter::StructElement, char const *, 38ul, std::less<vcl::PDFWriter::StructElement> >::container_type" (size 608 bytes) by value, which exceeds the high threshold of 512 bytes. 101 explicit constexpr map(container_type items) 102 : map{items, Compare{}} {} 103 104 constexpr map(std::initializer_list<value_type> items, Compare const &compare) 105 : map{container_type {items}, compare} { 106 constexpr_assert(items.size() == N, "Inconsistent initializer_list size and type size argument"); /workdir/UnpackedTarball/frozen/include/frozen/map.h: 101 in frozen::map<vcl::PDFWriter::StructAttributeValue, const char *, (unsigned long)40, std::less<vcl::PDFWriter::StructAttributeValue>>::map(frozen::bits::carray<std::pair<vcl::PDFWriter::StructAttributeValue, const char *>, (unsigned long)40>)() 95 public: 96 /* constructors */ 97 constexpr map(container_type items, Compare const &compare) 98 : less_than_{compare} 99 , items_{bits::quicksort(items, less_than_)} {} 100 >>> CID 1538304: (PASS_BY_VALUE) >>> Passing parameter items of type "frozen::map<vcl::PDFWriter::StructAttributeValue, char const *, 40ul, std::less<vcl::PDFWriter::StructAttributeValue> >::container_type" (size 640 bytes) by value, which exceeds the high threshold of 512 bytes. 101 explicit constexpr map(container_type items) 102 : map{items, Compare{}} {} 103 104 constexpr map(std::initializer_list<value_type> items, Compare const &compare) 105 : map{container_type {items}, compare} { 106 constexpr_assert(items.size() == N, "Inconsistent initializer_list size and type size argument"); /workdir/UnpackedTarball/frozen/include/frozen/map.h: 101 in frozen::map<int, int, (unsigned long)20, std::less<int>>::map(frozen::bits::carray<std::pair<int, int>, (unsigned long)20>)() 95 public: 96 /* constructors */ 97 constexpr map(container_type items, Compare const &compare) 98 : less_than_{compare} 99 , items_{bits::quicksort(items, less_than_)} {} 100 >>> CID 1538304: (PASS_BY_VALUE) >>> Passing parameter items of type "frozen::map<int, int, 20ul, std::less<int> >::container_type" (size 160 bytes) by value, which exceeds the low threshold of 128 bytes. 101 explicit constexpr map(container_type items) 102 : map{items, Compare{}} {} 103 104 constexpr map(std::initializer_list<value_type> items, Compare const &compare) 105 : map{container_type {items}, compare} { 106 constexpr_assert(items.size() == N, "Inconsistent initializer_list size and type size argument"); ________________________________________________________________________________________________________ To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50ypSs1kiFPuCn2xFdlMIFBirii0zZ9j2-2F9F2XPBcBm2BNgi9duPy3v-2FzgFDd2LJ-2BDKI-3D2zwM_OTq2XUZbbipYjyLSo6GRo-2FpVxQ9OzkDINu9UTS-2FQhSdO0F0jQniitrGlNxDIzPJidhBkUth1v0BFX1xnWL43-2BLU6jWt5gXg6-2FFDY7s-2F2bTK38J8D9VJXsfHaIfDT09gq0cCOuAK-2B035Xb8PE5B1MnzeYFe6QTFuBfy-2BH53IEvVjB88OmNMwVh9R4ogOOSqHZ1DqHk6bqjBpEll2KmDslwx9o8-2F6c5EQ0NVxqcw-2B7VQ0-3D