New Defects reported by Coverity Scan for LibreOffice

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Please find the latest report on new defect(s) introduced to LibreOffice found with Coverity Scan.

9 new defect(s) introduced to LibreOffice found with Coverity Scan.
8 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 9 of 9 defect(s)


** CID 1636583:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/sd/source/ui/sidebar/MasterPagesSelector.cxx: 338 in sd::sidebar::MasterPagesSelector::NotifyContainerChangeEvent(const sd::sidebar::MasterPageContainerChangeEvent &)()


________________________________________________________________________________________________________
*** CID 1636583:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/sd/source/ui/sidebar/MasterPagesSelector.cxx: 338 in sd::sidebar::MasterPagesSelector::NotifyContainerChangeEvent(const sd::sidebar::MasterPageContainerChangeEvent &)()
332                 int nIndex (GetIndexForToken(rEvent.maChildToken));
333                 if (nIndex >= 0)
334                 {
335                     Image aPreview(mpContainer->GetPreviewForToken(rEvent.maChildToken));
336                     if (aPreview.GetSizePixel().Width() > 0)
337                     {
>>>     CID 1636583:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
>>>     "aPreview" is passed-by-value as parameter to "GetVirtualDevice" when it could be moved instead.
338                         VclPtr<VirtualDevice> aDev = GetVirtualDevice(aPreview);
339                         mxPreviewIconView->set_image(nIndex, aDev);
340                     }
341                 }
342             }
343             break;

** CID 1636582:  Program hangs  (NEGATIVE_RETURNS)
/sd/source/ui/view/DocumentRenderer.cxx: 925 in sd::<unnamed>::NotesPrinterPage::Print(Printer &, SdDrawDocument &, sd::ViewShell &, sd::View *, sd::DrawView &, const SdrLayerIDSet &, const SdrLayerIDSet &) const()


________________________________________________________________________________________________________
*** CID 1636582:  Program hangs  (NEGATIVE_RETURNS)
/sd/source/ui/view/DocumentRenderer.cxx: 925 in sd::<unnamed>::NotesPrinterPage::Print(Printer &, SdDrawDocument &, sd::ViewShell &, sd::View *, sd::DrawView &, const SdrLayerIDSet &, const SdrLayerIDSet &) const()
919                         std::vector<std::pair<sal_Int32, sal_Int32>> aPageBreaks;
920     
921                         for (sal_Int32 i = 0; i < nParaCount && !bExit; ++i)
922                         {
923                             sal_Int32 nActualLineLen = 0;
924                             sal_uInt32 nLineCount = pOut->GetLineCount(i);
>>>     CID 1636582:  Program hangs  (NEGATIVE_RETURNS)
>>>     Using unsigned variable "nLineCount" in a loop exit condition.
925                             for (sal_uInt32 j = 0; j < nLineCount; ++j)
926                             {
927                                 nActualLineLen += pOut->GetLineLen(i, j);
928                                 sal_Int32 nLineHeight = pOut->GetLineHeight(i, j);
929                                 sal_Int32 nNextPosY = nCurrentPosY + nLineHeight;
930     

** CID 1636581:  Null pointer dereferences  (FORWARD_NULL)


________________________________________________________________________________________________________
*** CID 1636581:  Null pointer dereferences  (FORWARD_NULL)
/sw/source/core/unocore/unostyle.cxx: 1080 in SwXStyleFamily::insertByName(const rtl::OUString &, const com::sun::star::uno::Any &)()
1074         {
1075             uno::Reference<lang::XUnoTunnel> xStyleTunnel = rElement.get<uno::Reference<lang::XUnoTunnel>>();
1076             SwXStyle* pNewStyle = comphelper::getFromUnoTunnel<SwXStyle>(xStyleTunnel);
1077             if (!pNewStyle)
1078                 throw lang::IllegalArgumentException();
1079     
>>>     CID 1636581:  Null pointer dereferences  (FORWARD_NULL)
>>>     "insertStyleByNameImpl" dereferences null "this->m_pDocShell".
1080             insertStyleByNameImpl(pNewStyle, sStyleName);
1081         }
1082     }
1083     
1084     void SwXStyleFamily::insertStyleByNameImpl(const rtl::Reference<SwXStyle>& pNewStyle, const OUString& sStyleName)
1085     {

** CID 1636580:    (FORWARD_NULL)


________________________________________________________________________________________________________
*** CID 1636580:    (FORWARD_NULL)
/sw/source/core/unocore/unostyle.cxx: 977 in SwXStyleFamily::getStyleByName(const rtl::OUString &)()
971                 case SfxStyleFamily::Char:
972                 case SfxStyleFamily::Para:
973                 case SfxStyleFamily::Pseudo:
974                     xStyle = ::CreateStyleCharOrParaOrPseudo(m_pBasePool, m_pDocShell, sStyleName, m_rEntry.family());
975                     break;
976                 case SfxStyleFamily::Page:
>>>     CID 1636580:    (FORWARD_NULL)
>>>     Passing null pointer "this->m_pDocShell" to "CreateStylePage", which dereferences it.
977                     xStyle = ::CreateStylePage(m_pBasePool, m_pDocShell, sStyleName);
978                     break;
979                 case SfxStyleFamily::Frame:
980                     xStyle = ::CreateStyleFrame(m_pBasePool, m_pDocShell, pBase->GetName());
981                     break;
982                 case SfxStyleFamily::Table:
/sw/source/core/unocore/unostyle.cxx: 980 in SwXStyleFamily::getStyleByName(const rtl::OUString &)()
974                     xStyle = ::CreateStyleCharOrParaOrPseudo(m_pBasePool, m_pDocShell, sStyleName, m_rEntry.family());
975                     break;
976                 case SfxStyleFamily::Page:
977                     xStyle = ::CreateStylePage(m_pBasePool, m_pDocShell, sStyleName);
978                     break;
979                 case SfxStyleFamily::Frame:
>>>     CID 1636580:    (FORWARD_NULL)
>>>     Passing null pointer "this->m_pDocShell" to "CreateStyleFrame", which dereferences it.
980                     xStyle = ::CreateStyleFrame(m_pBasePool, m_pDocShell, pBase->GetName());
981                     break;
982                 case SfxStyleFamily::Table:
983                     xStyle = ::CreateStyleTable(m_pDocShell, sStyleName);
984                     break;
985                 case SfxStyleFamily::Cell:
/sw/source/core/unocore/unostyle.cxx: 983 in SwXStyleFamily::getStyleByName(const rtl::OUString &)()
977                     xStyle = ::CreateStylePage(m_pBasePool, m_pDocShell, sStyleName);
978                     break;
979                 case SfxStyleFamily::Frame:
980                     xStyle = ::CreateStyleFrame(m_pBasePool, m_pDocShell, pBase->GetName());
981                     break;
982                 case SfxStyleFamily::Table:
>>>     CID 1636580:    (FORWARD_NULL)
>>>     Passing null pointer "this->m_pDocShell" to "CreateStyleTable", which dereferences it.
983                     xStyle = ::CreateStyleTable(m_pDocShell, sStyleName);
984                     break;
985                 case SfxStyleFamily::Cell:
986                     xStyle = ::CreateStyleCell(m_pDocShell, sStyleName);
987                     break;
988                 default:
/sw/source/core/unocore/unostyle.cxx: 986 in SwXStyleFamily::getStyleByName(const rtl::OUString &)()
980                     xStyle = ::CreateStyleFrame(m_pBasePool, m_pDocShell, pBase->GetName());
981                     break;
982                 case SfxStyleFamily::Table:
983                     xStyle = ::CreateStyleTable(m_pDocShell, sStyleName);
984                     break;
985                 case SfxStyleFamily::Cell:
>>>     CID 1636580:    (FORWARD_NULL)
>>>     Passing null pointer "this->m_pDocShell" to "CreateStyleCell", which dereferences it.
986                     xStyle = ::CreateStyleCell(m_pDocShell, sStyleName);
987                     break;
988                 default:
989                     assert(false);
990             }
991         return xStyle;
/sw/source/core/unocore/unostyle.cxx: 974 in SwXStyleFamily::getStyleByName(const rtl::OUString &)()
968         if(!xStyle.is())
969             switch (m_rEntry.family())
970             {
971                 case SfxStyleFamily::Char:
972                 case SfxStyleFamily::Para:
973                 case SfxStyleFamily::Pseudo:
>>>     CID 1636580:    (FORWARD_NULL)
>>>     Passing null pointer "this->m_pDocShell" to "CreateStyleCharOrParaOrPseudo", which dereferences it.
974                     xStyle = ::CreateStyleCharOrParaOrPseudo(m_pBasePool, m_pDocShell, sStyleName, m_rEntry.family());
975                     break;
976                 case SfxStyleFamily::Page:
977                     xStyle = ::CreateStylePage(m_pBasePool, m_pDocShell, sStyleName);
978                     break;
979                 case SfxStyleFamily::Frame:

** CID 1636579:  Null pointer dereferences  (FORWARD_NULL)


________________________________________________________________________________________________________
*** CID 1636579:  Null pointer dereferences  (FORWARD_NULL)
/sw/source/core/unocore/unostyle.cxx: 1033 in SwXStyleFamily::insertStyleByName(const rtl::OUString &, const rtl::Reference<SwXStyle> &)()
1027         OUString sStyleName;
1028         SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId(),
1029                 m_pDocShell && !m_pDocShell->GetDoc()->IsInWriterfilterImport());
1030         SfxStyleSheetBase* pBase = m_pBasePool->Find(sStyleName, m_rEntry.family());
1031         if (pBase)
1032             throw container::ElementExistException();
>>>     CID 1636579:  Null pointer dereferences  (FORWARD_NULL)
>>>     "insertStyleByNameImpl" dereferences null "this->m_pDocShell".
1033         insertStyleByNameImpl(pNewStyle, sStyleName);
1034     }
1035     
1036     void SwXStyleFamily::insertByName(const OUString& rName, const uno::Any& rElement)
1037     {
1038         SolarMutexGuard aGuard;

** CID 1636578:  Error handling issues  (CHECKED_RETURN)
/vcl/jsdialog/executor.cxx: 580 in jsdialog::ExecuteAction(const rtl::OUString &, const rtl::OUString &, std::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<const rtl::OUString, rtl::OUString>>> &)()


________________________________________________________________________________________________________
*** CID 1636578:  Error handling issues  (CHECKED_RETURN)
/vcl/jsdialog/executor.cxx: 580 in jsdialog::ExecuteAction(const rtl::OUString &, const rtl::OUString &, std::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<const rtl::OUString, rtl::OUString>>> &)()
574                     }
575                     else if (sAction == "contextmenu")
576                     {
577                         sal_Int32 nEntryAbsPos = o3tl::toInt32(rData["data"]);
578     
579                         std::unique_ptr<weld::TreeIter> itEntry(pTreeView->make_iterator());
>>>     CID 1636578:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "get_iter_abs_pos" without checking return value (as is done elsewhere 4 out of 5 times).
580                         pTreeView->get_iter_abs_pos(*itEntry, nEntryAbsPos);
581     
582                         tools::Rectangle aRect = pTreeView->get_row_area(*itEntry);
583                         CommandEvent aCommand(aRect.Center(), CommandEventId::ContextMenu);
584     
585                         LOKTrigger::trigger_popup_menu(*pTreeView, aCommand);

** CID 1636577:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/sd/source/ui/sidebar/MasterPagesSelector.cxx: 496 in sd::sidebar::MasterPagesSelector::UpdateAllPreviews()()


________________________________________________________________________________________________________
*** CID 1636577:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/sd/source/ui/sidebar/MasterPagesSelector.cxx: 496 in sd::sidebar::MasterPagesSelector::UpdateAllPreviews()()
490             const MasterPageContainer::Token aToken
491                 = static_cast<MasterPageContainer::Token>(mxPreviewIconView->get_id(aIndex).toInt32());
492     
493             Image aPreview(mpContainer->GetPreviewForToken(aToken));
494             if (aPreview.GetSizePixel().Width() > 0)
495             {
>>>     CID 1636577:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
>>>     "aPreview" is passed-by-value as parameter to "GetVirtualDevice" when it could be moved instead.
496                 VclPtr<VirtualDevice> pVDev = GetVirtualDevice(aPreview);
497                 mxPreviewIconView->set_image(aIndex, pVDev);
498             }
499             else if (mpContainer->GetPreviewState(aToken) == MasterPageContainer::PS_CREATABLE)
500             {
501                 mpContainer->RequestPreview(aToken);

** CID 1636576:  Null pointer dereferences  (NULL_RETURNS)
/sd/source/ui/view/DocumentRenderer.cxx: 2464 in sd::DocumentRenderer::Implementation::PrepareScaledPage(int, const SdPage &, PageKind, const sd::<unnamed>::PrintInfo &)()


________________________________________________________________________________________________________
*** CID 1636576:  Null pointer dereferences  (NULL_RETURNS)
/sd/source/ui/view/DocumentRenderer.cxx: 2464 in sd::DocumentRenderer::Implementation::PrepareScaledPage(int, const SdPage &, PageKind, const sd::<unnamed>::PrintInfo &)()
2458                 {
2459                     SdPage* pPage = GetFilteredPage(nPageIndex, PageKind::Notes);
2460                     SdDrawDocument* pDocument = mrBase.GetMainViewShell()->GetDoc();
2461     
2462                     // Clone the current page to create an independent instance.
2463                     // This ensures that changes made to pNotesPage do not affect the original page.
>>>     CID 1636576:  Null pointer dereferences  (NULL_RETURNS)
>>>     Dereferencing a pointer that might be "nullptr" "pPage" when calling "CloneSdrPage". (The dereference happens because this is a virtual function call.)
2464                     rtl::Reference<SdPage> pNotesPage
2465                         = static_cast<SdPage*>(pPage->CloneSdrPage(*pDocument).get());
2466     
2467                     Size aPageSize = bScalePage ? pNotesPage->GetSize() : rInfo.mpPrinter->GetPrintPageSize();
2468                     // Adjusts the objects on the notes page to fit the new page size.
2469                     ::tools::Rectangle aNewBorderRect(-1, -1, -1, -1);

** CID 1636575:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/sd/source/ui/sidebar/MasterPagesSelector.cxx: 395 in sd::sidebar::MasterPagesSelector::SetItem(unsigned short, int)()


________________________________________________________________________________________________________
*** CID 1636575:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/sd/source/ui/sidebar/MasterPagesSelector.cxx: 395 in sd::sidebar::MasterPagesSelector::SetItem(unsigned short, int)()
389         {
390             Image aPreview (mpContainer->GetPreviewForToken(aToken));
391             MasterPageContainer::PreviewState eState (mpContainer->GetPreviewState(aToken));
392     
393             if (aPreview.GetSizePixel().Width() > 0)
394             {
>>>     CID 1636575:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
>>>     "aPreview" is passed-by-value as parameter to "GetVirtualDevice" when it could be moved instead.
395                 VclPtr<VirtualDevice> aVDev = GetVirtualDevice(aPreview);
396                 if (!mxPreviewIconView->get_id(nIndex).isEmpty())
397                 {
398                     mxPreviewIconView->set_image(nIndex, aVDev);
399                     mxPreviewIconView->set_id(nIndex, OUString::number(aToken));
400                 }


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=u001.AxU2LYlgjL6eX23u9ErQy-2BKADyCpvUKOL6EWmZljiu6VvXBlQRUbS683tC8265rGNPXqJ1ffcoLZCnTuJFQbNcTEkb4XaEQkzovKhJ5DB3c-3D6aH__A9M4dSy7guk8NP6DcfgslOyvJRzavztVIKj6nRqYjYpWom7SJFyX0y710bz0kUGtJF9pDcP2iFT6CcTLNQ8u-2Fs-2FVAegckvUfU5B8dllFNVp8voo3m-2FgMQK7gEr3ZNY3vsvnpnuJaJlMnygSNBjjRdgS3iZwueXVVo3WEBjPlwXIggHEXomOdhnwCJOjcKKdPMUINy8vh4QVRoDMAtdfuWY8GH3jXDZ1K89k0g9IY10Q-3D




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux