Hi, Please find the latest report on new defect(s) introduced to LibreOffice found with Coverity Scan. 5 new defect(s) introduced to LibreOffice found with Coverity Scan. 29 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 5 of 5 defect(s) ** CID 1609598: (COPY_INSTEAD_OF_MOVE) /sd/source/ui/view/OutlinerIterator.cxx: 174 in sd::outliner::OutlinerContainer::CreateIterator(sd::outliner::IteratorLocation)() /sd/source/ui/view/OutlinerIterator.cxx: 166 in sd::outliner::OutlinerContainer::CreateIterator(sd::outliner::IteratorLocation)() ________________________________________________________________________________________________________ *** CID 1609598: (COPY_INSTEAD_OF_MOVE) /sd/source/ui/view/OutlinerIterator.cxx: 174 in sd::outliner::OutlinerContainer::CreateIterator(sd::outliner::IteratorLocation)() 168 mpOutliner->mbDirectionIsForward, 169 aLocation); 170 else 171 // Search in the whole document. 172 return CreateDocumentIterator ( 173 mpOutliner->mpDrawDocument, >>> CID 1609598: (COPY_INSTEAD_OF_MOVE) >>> "pOverridingShell" is copied in call to copy constructor "std::shared_ptr<sd::ViewShell>", when it could be moved instead. 174 pOverridingShell ? pOverridingShell : 175 mpOutliner->mpWeakViewShell.lock(), 176 mpOutliner->mbDirectionIsForward, 177 aLocation); 178 } 179 /sd/source/ui/view/OutlinerIterator.cxx: 166 in sd::outliner::OutlinerContainer::CreateIterator(sd::outliner::IteratorLocation)() 160 // use. 161 if (mpOutliner->mbRestrictSearchToSelection) 162 // There is a selection. Search only in this. 163 return CreateSelectionIterator ( 164 mpOutliner->maMarkListCopy, 165 mpOutliner->mpDrawDocument, >>> CID 1609598: (COPY_INSTEAD_OF_MOVE) >>> "pOverridingShell" is copied in call to copy constructor "std::shared_ptr<sd::ViewShell>", when it could be moved instead. 166 pOverridingShell ? pOverridingShell : 167 mpOutliner->mpWeakViewShell.lock(), 168 mpOutliner->mbDirectionIsForward, 169 aLocation); 170 else 171 // Search in the whole document. ** CID 1609597: API usage errors (INVALIDATE_ITERATOR) /svl/source/items/globalpool.cxx: 353 in implCreateItemEntry(SfxItemPool &, const SfxPoolItem *, bool)() ________________________________________________________________________________________________________ *** CID 1609597: API usage errors (INVALIDATE_ITERATOR) /svl/source/items/globalpool.cxx: 353 in implCreateItemEntry(SfxItemPool &, const SfxPoolItem *, bool)() 347 if (pSource->isHashable()) 348 gInstanceManagerMap.insert( 349 { aManagerKey, std::make_unique<HashableItemInstanceManager>() }); 350 else 351 gInstanceManagerMap.insert( 352 { aManagerKey, std::make_unique<DefaultItemInstanceManager>() }); >>> CID 1609597: API usage errors (INVALIDATE_ITERATOR) >>> Dereferencing iterator "gInstanceManagerMap.find(aManagerKey)" though it is already past the end of its container. 353 pManager = gInstanceManagerMap.find(aManagerKey)->second.get(); 354 } 355 356 bool bSuccess = pManager->add(*pSource); 357 assert(bSuccess && "failed to add item to pool"); 358 (void)bSuccess; ** CID 1609596: Integer handling issues (SIGN_EXTENSION) /svl/source/items/globalpool.cxx: 180 in <unnamed>::PairHash::operator ()(const std::pair<SfxItemType, unsigned short> &) const() ________________________________________________________________________________________________________ *** CID 1609596: Integer handling issues (SIGN_EXTENSION) /svl/source/items/globalpool.cxx: 180 in <unnamed>::PairHash::operator ()(const std::pair<SfxItemType, unsigned short> &) const() 174 }; 175 176 struct PairHash 177 { 178 size_t operator()(const std::pair<SfxItemType, sal_uInt16>& rKey) const 179 { >>> CID 1609596: Integer handling issues (SIGN_EXTENSION) >>> Suspicious implicit sign extension: "rKey.first" with type "SfxItemType" (16 bits, unsigned) is promoted in "(static_cast<int>(rKey.first) << 16) | rKey.second" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "(static_cast<int>(rKey.first) << 16) | rKey.second" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. 180 return (static_cast<int>(rKey.first) << 16) | rKey.second; 181 } 182 }; 183 } 184 // The single static instance that takes over that global Item sharing 185 // Maps SfxItemPool sub-classes to a set of shared items. ** CID 1609595: Null pointer dereferences (NULL_RETURNS) /sd/source/ui/view/Outliner.cxx: 1851 in SdOutliner::SetObject(const sd::outliner::IteratorPosition &)() ________________________________________________________________________________________________________ *** CID 1609595: Null pointer dereferences (NULL_RETURNS) /sd/source/ui/view/Outliner.cxx: 1851 in SdOutliner::SetObject(const sd::outliner::IteratorPosition &)() 1845 if(rPosition.meEditMode == EditMode::Page && rPosition.mePageKind == PageKind::Notes) 1846 { 1847 std::shared_ptr<sd::ViewShell> pViewShell (mpWeakViewShell.lock()); 1848 std::shared_ptr<sd::DrawViewShell> pDrawViewShell( 1849 std::dynamic_pointer_cast<sd::DrawViewShell>(pViewShell)); 1850 >>> CID 1609595: Null pointer dereferences (NULL_RETURNS) >>> Attempting to access the managed object of an empty smart pointer "pDrawViewShell". 1851 if (pDrawViewShell->GetEditMode() != EditMode::Page 1852 || pDrawViewShell->GetCurPagePos() != rPosition.mnPageIndex) 1853 SetPage(EditMode::Page, static_cast<sal_uInt16>(rPosition.mnPageIndex)); 1854 1855 mnText = rPosition.mnText; 1856 return rPosition.mxObject.get().get(); ** CID 1609594: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /sd/source/filter/eppt/pptx-epptooxml.cxx: 1061 in oox::core::PowerPointExport::GetAuthorIdAndLastIndex(const rtl::OUString &, const rtl::OUString &, int &)() ________________________________________________________________________________________________________ *** CID 1609594: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /sd/source/filter/eppt/pptx-epptooxml.cxx: 1061 in oox::core::PowerPointExport::GetAuthorIdAndLastIndex(const rtl::OUString &, const rtl::OUString &, int &)() 1055 struct AuthorComments aAuthorComments; 1056 1057 aAuthorComments.nId = maAuthors.size(); 1058 aAuthorComments.nLastIndex = 0; 1059 aAuthorComments.sInitials = sInitials; 1060 >>> CID 1609594: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "aAuthorComments" is copied in a call to copy assignment "operator =", when it could be moved instead. 1061 maAuthors[ sAuthor ] = aAuthorComments; 1062 } 1063 1064 nLastIndex = ++maAuthors[ sAuthor ].nLastIndex; 1065 1066 return maAuthors[ sAuthor ].nId; ________________________________________________________________________________________________________ To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=u001.AxU2LYlgjL6eX23u9ErQy-2BKADyCpvUKOL6EWmZljiu6VvXBlQRUbS683tC8265rGNPXqJ1ffcoLZCnTuJFQbNcTEkb4XaEQkzovKhJ5DB3c-3DSX-E_A9M4dSy7guk8NP6DcfgslOyvJRzavztVIKj6nRqYjYpWom7SJFyX0y710bz0kUGtf4BmAahZKpl2xGtWFs-2FvRaTmdMuif7-2FHMTD8SumQKl51oBpOIfoUbIWFQpIQOAEBdLRUREalU4CkvP5-2FBv6W9Ck-2Fg1hsf-2BmbYZkJN-2FFrtBAWjDHVuEUDgn-2FnEo-2BBrGtZM0u6A3Kt-2BkEYPtgYsmsrvBmU8THbmrLOSzs77mFT9e4-3D