New Defects reported by Coverity Scan for LibreOffice
scan-admin at coverity.com
scan-admin at coverity.com
Sat Nov 9 13:21:36 UTC 2024
Hi,
Please find the latest report on new defect(s) introduced to LibreOffice found with Coverity Scan.
13 new defect(s) introduced to LibreOffice found with Coverity Scan.
7 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 13 of 13 defect(s)
** CID 1634586: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/desktop/source/lib/init.cxx: 7283 in doc_insertCertificate(_LibreOfficeKitDocument *, const unsigned char *, int, const unsigned char *, int)()
________________________________________________________________________________________________________
*** CID 1634586: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/desktop/source/lib/init.cxx: 7283 in doc_insertCertificate(_LibreOfficeKitDocument *, const unsigned char *, int, const unsigned char *, int)()
7277 if (!xCertificate.is())
7278 return false;
7279
7280 SolarMutexGuard aGuard;
7281
7282 svl::crypto::SigningContext aSigningContext;
>>> CID 1634586: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xCertificate" is copied in a call to copy assignment "operator =", when it could be moved instead.
7283 aSigningContext.m_xCertificate = xCertificate;
7284 return pObjectShell->SignDocumentContentUsingCertificate(aSigningContext);
7285 }
7286
7287 static bool doc_addCertificate(LibreOfficeKitDocument* pThis,
7288 const unsigned char* pCertificateBinary, const int nCertificateBinarySize)
** CID 1634585: Performance inefficiencies (AUTO_CAUSES_COPY)
/basegfx/source/polygon/b3dpolygontools.cxx: 107 in basegfx::utils::applyLineDashing(const basegfx::B3DPolygon &, const std::vector<double, std::allocator<double>> &, basegfx::B3DPolyPolygon *, double)()
________________________________________________________________________________________________________
*** CID 1634585: Performance inefficiencies (AUTO_CAUSES_COPY)
/basegfx/source/polygon/b3dpolygontools.cxx: 107 in basegfx::utils::applyLineDashing(const basegfx::B3DPolygon &, const std::vector<double, std::allocator<double>> &, basegfx::B3DPolyPolygon *, double)()
101 if(pLineTarget)
102 {
103 pLineTarget->clear();
104 }
105
106 // provide callback as lambda
>>> CID 1634585: Performance inefficiencies (AUTO_CAUSES_COPY)
>>> Using the "auto" keyword without an "&" causes the copy of an object of type "std::function<void (basegfx::B3DPolygon const &)>".
107 const auto rLineCallback(
108 nullptr == pLineTarget
109 ? std::function<void(const basegfx::B3DPolygon&)>()
110 : [&pLineTarget](const basegfx::B3DPolygon& rSnippet){ pLineTarget->append(rSnippet); });
111
112 // call version that uses callbacks
** CID 1634584: Uninitialized variables (UNINIT)
________________________________________________________________________________________________________
*** CID 1634584: Uninitialized variables (UNINIT)
/UnoControls/source/base/multiplexer.cxx: 142 in unocontrols::OMRCListenerMultiplexerHelper::unadvise(const com::sun::star::uno::Type &, const com::sun::star::uno::Reference<com::sun::star::lang::XEventListener> &)()
136 // container method
137
138 void OMRCListenerMultiplexerHelper::unadvise( const Type& aType ,
139 const Reference< XEventListener >& xListener )
140 {
141 std::unique_lock aGuard(m_aMutex);
>>> CID 1634584: Uninitialized variables (UNINIT)
>>> Using uninitialized value "aGuard._M_owns" when calling "removeInterface".
142 if (m_aListenerHolder.removeInterface(aGuard, aType, xListener) == 0)
143 {
144 // the last listener is removed
145 if ( m_xPeer.is() )
146 {
147 impl_unadviseFromPeer( m_xPeer, aType );
** CID 1634583: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sfx2/source/doc/objserv.cxx: 584 in SfxObjectShell::ExecFile_Impl(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1634583: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sfx2/source/doc/objserv.cxx: 584 in SfxObjectShell::ExecFile_Impl(SfxRequest &)()
578 {
579 uno::Reference<security::XCertificate> xCertificate = GetSignPDFCertificate();
580 if (xCertificate.is())
581 {
582
583 svl::crypto::SigningContext aSigningContext;
>>> CID 1634583: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xCertificate" is copied in a call to copy assignment "operator =", when it could be moved instead.
584 aSigningContext.m_xCertificate = xCertificate;
585 bHaveWeSigned |= SignDocumentContentUsingCertificate(aSigningContext);
586
587 // Reload to show how the PDF actually looks like after signing. This also
588 // changes "finish signing" on the infobar back to "sign document" as a side
589 // effect.
** CID 1634582: (UNINIT)
________________________________________________________________________________________________________
*** CID 1634582: (UNINIT)
/UnoControls/source/base/multiplexer.cxx: 51 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XWindowListener, com::sun::star::awt::WindowEvent>(void (T1::*)(const T2 &), const T2 &)()
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
48 /* Remark: The control is the event source not the peer.*/
49 /* We must change the source of the event. */
50 aLocalEvent.Source = m_xControl;
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_device" when calling "unlock".
51 aGuard.unlock();
52 /* Is the control not destroyed? */
53 if (!aLocalEvent.Source)
54 return;
55 if (!aIterator.hasMoreElements())
56 return;
/UnoControls/source/base/multiplexer.cxx: 42 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XMouseMotionListener, com::sun::star::awt::MouseEvent>(void (T1::*)(const T2 &), const T2 &)()
36 template <class Interface, typename Event>
37 void OMRCListenerMultiplexerHelper::Multiplex(void (SAL_CALL Interface::*method)(const Event&),
38 const Event& event)
39 {
40 std::unique_lock aGuard(m_aMutex);
41 /* First get all interfaces from container with right type.*/
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_owns" when calling "getContainer".
42 auto* pContainer = m_aListenerHolder.getContainer(aGuard, cppu::UnoType<Interface>::get());
43 /* Do the follow only, if elements in container exist.*/
44 if (!pContainer)
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
/UnoControls/source/base/multiplexer.cxx: 42 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XMouseListener, com::sun::star::awt::MouseEvent>(void (T1::*)(const T2 &), const T2 &)()
36 template <class Interface, typename Event>
37 void OMRCListenerMultiplexerHelper::Multiplex(void (SAL_CALL Interface::*method)(const Event&),
38 const Event& event)
39 {
40 std::unique_lock aGuard(m_aMutex);
41 /* First get all interfaces from container with right type.*/
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_owns" when calling "getContainer".
42 auto* pContainer = m_aListenerHolder.getContainer(aGuard, cppu::UnoType<Interface>::get());
43 /* Do the follow only, if elements in container exist.*/
44 if (!pContainer)
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
/UnoControls/source/base/multiplexer.cxx: 42 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XKeyListener, com::sun::star::awt::KeyEvent>(void (T1::*)(const T2 &), const T2 &)()
36 template <class Interface, typename Event>
37 void OMRCListenerMultiplexerHelper::Multiplex(void (SAL_CALL Interface::*method)(const Event&),
38 const Event& event)
39 {
40 std::unique_lock aGuard(m_aMutex);
41 /* First get all interfaces from container with right type.*/
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_owns" when calling "getContainer".
42 auto* pContainer = m_aListenerHolder.getContainer(aGuard, cppu::UnoType<Interface>::get());
43 /* Do the follow only, if elements in container exist.*/
44 if (!pContainer)
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
/UnoControls/source/base/multiplexer.cxx: 51 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XKeyListener, com::sun::star::awt::KeyEvent>(void (T1::*)(const T2 &), const T2 &)()
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
48 /* Remark: The control is the event source not the peer.*/
49 /* We must change the source of the event. */
50 aLocalEvent.Source = m_xControl;
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_device" when calling "unlock".
51 aGuard.unlock();
52 /* Is the control not destroyed? */
53 if (!aLocalEvent.Source)
54 return;
55 if (!aIterator.hasMoreElements())
56 return;
/UnoControls/source/base/multiplexer.cxx: 51 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XMouseMotionListener, com::sun::star::awt::MouseEvent>(void (T1::*)(const T2 &), const T2 &)()
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
48 /* Remark: The control is the event source not the peer.*/
49 /* We must change the source of the event. */
50 aLocalEvent.Source = m_xControl;
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_device" when calling "unlock".
51 aGuard.unlock();
52 /* Is the control not destroyed? */
53 if (!aLocalEvent.Source)
54 return;
55 if (!aIterator.hasMoreElements())
56 return;
/UnoControls/source/base/multiplexer.cxx: 42 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XFocusListener, com::sun::star::awt::FocusEvent>(void (T1::*)(const T2 &), const T2 &)()
36 template <class Interface, typename Event>
37 void OMRCListenerMultiplexerHelper::Multiplex(void (SAL_CALL Interface::*method)(const Event&),
38 const Event& event)
39 {
40 std::unique_lock aGuard(m_aMutex);
41 /* First get all interfaces from container with right type.*/
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_owns" when calling "getContainer".
42 auto* pContainer = m_aListenerHolder.getContainer(aGuard, cppu::UnoType<Interface>::get());
43 /* Do the follow only, if elements in container exist.*/
44 if (!pContainer)
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
/UnoControls/source/base/multiplexer.cxx: 42 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XPaintListener, com::sun::star::awt::PaintEvent>(void (T1::*)(const T2 &), const T2 &)()
36 template <class Interface, typename Event>
37 void OMRCListenerMultiplexerHelper::Multiplex(void (SAL_CALL Interface::*method)(const Event&),
38 const Event& event)
39 {
40 std::unique_lock aGuard(m_aMutex);
41 /* First get all interfaces from container with right type.*/
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_owns" when calling "getContainer".
42 auto* pContainer = m_aListenerHolder.getContainer(aGuard, cppu::UnoType<Interface>::get());
43 /* Do the follow only, if elements in container exist.*/
44 if (!pContainer)
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
/UnoControls/source/base/multiplexer.cxx: 51 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XFocusListener, com::sun::star::awt::FocusEvent>(void (T1::*)(const T2 &), const T2 &)()
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
48 /* Remark: The control is the event source not the peer.*/
49 /* We must change the source of the event. */
50 aLocalEvent.Source = m_xControl;
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_device" when calling "unlock".
51 aGuard.unlock();
52 /* Is the control not destroyed? */
53 if (!aLocalEvent.Source)
54 return;
55 if (!aIterator.hasMoreElements())
56 return;
/UnoControls/source/base/multiplexer.cxx: 51 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XPaintListener, com::sun::star::awt::PaintEvent>(void (T1::*)(const T2 &), const T2 &)()
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
48 /* Remark: The control is the event source not the peer.*/
49 /* We must change the source of the event. */
50 aLocalEvent.Source = m_xControl;
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_device" when calling "unlock".
51 aGuard.unlock();
52 /* Is the control not destroyed? */
53 if (!aLocalEvent.Source)
54 return;
55 if (!aIterator.hasMoreElements())
56 return;
/UnoControls/source/base/multiplexer.cxx: 42 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XWindowListener, com::sun::star::awt::WindowEvent>(void (T1::*)(const T2 &), const T2 &)()
36 template <class Interface, typename Event>
37 void OMRCListenerMultiplexerHelper::Multiplex(void (SAL_CALL Interface::*method)(const Event&),
38 const Event& event)
39 {
40 std::unique_lock aGuard(m_aMutex);
41 /* First get all interfaces from container with right type.*/
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_owns" when calling "getContainer".
42 auto* pContainer = m_aListenerHolder.getContainer(aGuard, cppu::UnoType<Interface>::get());
43 /* Do the follow only, if elements in container exist.*/
44 if (!pContainer)
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
/UnoControls/source/base/multiplexer.cxx: 42 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XWindowListener, com::sun::star::lang::EventObject>(void (T1::*)(const T2 &), const T2 &)()
36 template <class Interface, typename Event>
37 void OMRCListenerMultiplexerHelper::Multiplex(void (SAL_CALL Interface::*method)(const Event&),
38 const Event& event)
39 {
40 std::unique_lock aGuard(m_aMutex);
41 /* First get all interfaces from container with right type.*/
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_owns" when calling "getContainer".
42 auto* pContainer = m_aListenerHolder.getContainer(aGuard, cppu::UnoType<Interface>::get());
43 /* Do the follow only, if elements in container exist.*/
44 if (!pContainer)
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
/UnoControls/source/base/multiplexer.cxx: 51 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XMouseListener, com::sun::star::awt::MouseEvent>(void (T1::*)(const T2 &), const T2 &)()
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
48 /* Remark: The control is the event source not the peer.*/
49 /* We must change the source of the event. */
50 aLocalEvent.Source = m_xControl;
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_device" when calling "unlock".
51 aGuard.unlock();
52 /* Is the control not destroyed? */
53 if (!aLocalEvent.Source)
54 return;
55 if (!aIterator.hasMoreElements())
56 return;
/UnoControls/source/base/multiplexer.cxx: 51 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XWindowListener, com::sun::star::lang::EventObject>(void (T1::*)(const T2 &), const T2 &)()
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
48 /* Remark: The control is the event source not the peer.*/
49 /* We must change the source of the event. */
50 aLocalEvent.Source = m_xControl;
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_device" when calling "unlock".
51 aGuard.unlock();
52 /* Is the control not destroyed? */
53 if (!aLocalEvent.Source)
54 return;
55 if (!aIterator.hasMoreElements())
56 return;
/UnoControls/source/base/multiplexer.cxx: 42 in unocontrols::OMRCListenerMultiplexerHelper::Multiplex<com::sun::star::awt::XTopWindowListener, com::sun::star::lang::EventObject>(void (T1::*)(const T2 &), const T2 &)()
36 template <class Interface, typename Event>
37 void OMRCListenerMultiplexerHelper::Multiplex(void (SAL_CALL Interface::*method)(const Event&),
38 const Event& event)
39 {
40 std::unique_lock aGuard(m_aMutex);
41 /* First get all interfaces from container with right type.*/
>>> CID 1634582: (UNINIT)
>>> Using uninitialized value "aGuard._M_owns" when calling "getContainer".
42 auto* pContainer = m_aListenerHolder.getContainer(aGuard, cppu::UnoType<Interface>::get());
43 /* Do the follow only, if elements in container exist.*/
44 if (!pContainer)
45 return;
46 comphelper::OInterfaceIteratorHelper4 aIterator(aGuard, *pContainer);
47 Event aLocalEvent = event;
** CID 1634581: Uninitialized variables (UNINIT)
________________________________________________________________________________________________________
*** CID 1634581: Uninitialized variables (UNINIT)
/UnoControls/source/base/multiplexer.cxx: 126 in unocontrols::OMRCListenerMultiplexerHelper::advise(const com::sun::star::uno::Type &, const com::sun::star::uno::Reference<com::sun::star::lang::XEventListener> &)()
120
121 void OMRCListenerMultiplexerHelper::advise( const Type& aType ,
122 const Reference< XEventListener >& xListener )
123 {
124 assert(xListener && xListener->queryInterface(aType).getValue());
125 std::unique_lock aGuard(m_aMutex);
>>> CID 1634581: Uninitialized variables (UNINIT)
>>> Using uninitialized value "aGuard._M_owns" when calling "addInterface".
126 if (m_aListenerHolder.addInterface(aGuard, aType, xListener) == 1)
127 {
128 // the first listener is added
129 if( m_xPeer.is() )
130 {
131 impl_adviseToPeer( m_xPeer, aType );
** CID 1634580: Performance inefficiencies (AUTO_CAUSES_COPY)
/basegfx/source/polygon/b2dpolygontools.cxx: 1134 in basegfx::utils::applyLineDashing(const basegfx::B2DPolygon &, const std::vector<double, std::allocator<double>> &, basegfx::B2DPolyPolygon *, basegfx::B2DPolyPolygon *, double)()
________________________________________________________________________________________________________
*** CID 1634580: Performance inefficiencies (AUTO_CAUSES_COPY)
/basegfx/source/polygon/b2dpolygontools.cxx: 1134 in basegfx::utils::applyLineDashing(const basegfx::B2DPolygon &, const std::vector<double, std::allocator<double>> &, basegfx::B2DPolyPolygon *, basegfx::B2DPolyPolygon *, double)()
1128 if(pGapTarget)
1129 {
1130 pGapTarget->clear();
1131 }
1132
1133 // provide callbacks as lambdas
>>> CID 1634580: Performance inefficiencies (AUTO_CAUSES_COPY)
>>> Using the "auto" keyword without an "&" causes the copy of an object of type "std::function<void (basegfx::B2DPolygon const &)>".
1134 const auto rLineCallback(
1135 nullptr == pLineTarget
1136 ? std::function<void(const basegfx::B2DPolygon&)>()
1137 : [&pLineTarget](const basegfx::B2DPolygon& rSnippet){ pLineTarget->append(rSnippet); });
1138 const auto rGapCallback(
1139 nullptr == pGapTarget
** CID 1634579: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sfx2/source/doc/guisaveas.cxx: 1927 in SfxStoringHelper::FinishGUIStoreModel(std::__detail::_Node_const_iterator<std::pair<const comphelper::OUStringAndHashCode, com::sun::star::uno::Any>, (bool)0, (bool)1> &, ModelData_Impl &, bool, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> &, bool, bool, bool, std::basic_string_view<char16_t, std::char_traits<char16_t>>, std::basic_string_view<char16_t, std::char_traits<char16_t>>, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> &, rtl::OUString)::[lambda() (instance 1)]::operator ()() const()
________________________________________________________________________________________________________
*** CID 1634579: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sfx2/source/doc/guisaveas.cxx: 1927 in SfxStoringHelper::FinishGUIStoreModel(std::__detail::_Node_const_iterator<std::pair<const comphelper::OUStringAndHashCode, com::sun::star::uno::Any>, (bool)0, (bool)1> &, ModelData_Impl &, bool, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> &, bool, bool, bool, std::basic_string_view<char16_t, std::char_traits<char16_t>>, std::basic_string_view<char16_t, std::char_traits<char16_t>>, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> &, rtl::OUString)::[lambda() (instance 1)]::operator ()() const()
1921
1922 if (xCert.is() && SfxViewShell::Current())
1923 {
1924 bFoundCert = true;
1925 SfxObjectShell* pDocShell = SfxViewShell::Current()->GetObjectShell();
1926 svl::crypto::SigningContext aSigningContext;
>>> CID 1634579: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xCert" is copied in a call to copy assignment "operator =", when it could be moved instead.
1927 aSigningContext.m_xCertificate = xCert;
1928 bool bSigned = pDocShell->SignDocumentContentUsingCertificate(aSigningContext);
1929 if (bSigned && pDocShell->HasValidSignatures())
1930 {
1931 std::unique_ptr<weld::MessageDialog> xBox(
1932 Application::CreateMessageDialog(
** CID 1634578: Performance inefficiencies (AUTO_CAUSES_COPY)
/basegfx/source/polygon/b2dpolygontools.cxx: 1138 in basegfx::utils::applyLineDashing(const basegfx::B2DPolygon &, const std::vector<double, std::allocator<double>> &, basegfx::B2DPolyPolygon *, basegfx::B2DPolyPolygon *, double)()
________________________________________________________________________________________________________
*** CID 1634578: Performance inefficiencies (AUTO_CAUSES_COPY)
/basegfx/source/polygon/b2dpolygontools.cxx: 1138 in basegfx::utils::applyLineDashing(const basegfx::B2DPolygon &, const std::vector<double, std::allocator<double>> &, basegfx::B2DPolyPolygon *, basegfx::B2DPolyPolygon *, double)()
1132
1133 // provide callbacks as lambdas
1134 const auto rLineCallback(
1135 nullptr == pLineTarget
1136 ? std::function<void(const basegfx::B2DPolygon&)>()
1137 : [&pLineTarget](const basegfx::B2DPolygon& rSnippet){ pLineTarget->append(rSnippet); });
>>> CID 1634578: Performance inefficiencies (AUTO_CAUSES_COPY)
>>> Using the "auto" keyword without an "&" causes the copy of an object of type "std::function<void (basegfx::B2DPolygon const &)>".
1138 const auto rGapCallback(
1139 nullptr == pGapTarget
1140 ? std::function<void(const basegfx::B2DPolygon&)>()
1141 : [&pGapTarget](const basegfx::B2DPolygon& rSnippet){ pGapTarget->append(rSnippet); });
1142
1143 // call version that uses callbacks
** CID 1634577: Uninitialized variables (UNINIT)
________________________________________________________________________________________________________
*** CID 1634577: Uninitialized variables (UNINIT)
/UnoControls/source/base/multiplexer.cxx: 93 in unocontrols::OMRCListenerMultiplexerHelper::setPeer(const com::sun::star::uno::Reference<com::sun::star::awt::XWindow> &)()
87 if( m_xPeer == xPeer )
88 return;
89
90 if( m_xPeer.is() )
91 {
92 // get all types from the listener added to the peer
>>> CID 1634577: Uninitialized variables (UNINIT)
>>> Using uninitialized value "aGuard._M_owns" when calling "getContainedTypes".
93 const std::vector< Type > aContainedTypes = m_aListenerHolder.getContainedTypes(aGuard);
94 // loop over all listener types and remove the listeners from the peer
95 for( const auto& rContainedType : aContainedTypes )
96 impl_unadviseFromPeer( m_xPeer, rContainedType );
97 }
98 m_xPeer = xPeer;
** CID 1634576: Concurrent data access violations (MISSING_LOCK)
/svx/source/unodraw/unoshcol.cxx: 44 in SvxShapeCollection::release()()
________________________________________________________________________________________________________
*** CID 1634576: Concurrent data access violations (MISSING_LOCK)
/svx/source/unodraw/unoshcol.cxx: 44 in SvxShapeCollection::release()()
38 {
39 uno::Reference< uno::XInterface > x( xDelegator );
40 if (! x.is())
41 {
42 if (osl_atomic_decrement( &m_refCount ) == 0)
43 {
>>> CID 1634576: Concurrent data access violations (MISSING_LOCK)
>>> Accessing "this->bDisposed" without holding lock "SvxShapeCollection.m_aMutex". Elsewhere, "SvxShapeCollection.bDisposed" is written to with "SvxShapeCollection.m_aMutex" held 1 out of 1 times.
44 if (! bDisposed)
45 {
46 uno::Reference< uno::XInterface > xHoldAlive( getXWeak() );
47 // First dispose
48 try
49 {
** CID 1634575: Memory - illegal accesses (UNINIT)
________________________________________________________________________________________________________
*** CID 1634575: Memory - illegal accesses (UNINIT)
/UnoControls/source/base/multiplexer.cxx: 116 in unocontrols::OMRCListenerMultiplexerHelper::disposeAndClear()()
110
111 void OMRCListenerMultiplexerHelper::disposeAndClear()
112 {
113 std::unique_lock aGuard(m_aMutex);
114 EventObject aEvent;
115 aEvent.Source = m_xControl;
>>> CID 1634575: Memory - illegal accesses (UNINIT)
>>> Using uninitialized value "aGuard._M_owns" when calling "disposeAndClear".
116 m_aListenerHolder.disposeAndClear(aGuard, aEvent);
117 }
118
119 // container method
120
121 void OMRCListenerMultiplexerHelper::advise( const Type& aType ,
** CID 1634574: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sfx2/source/doc/objserv.cxx: 2201 in SfxObjectShell::ResignDocument(com::sun::star::uno::Sequence<com::sun::star::security::DocumentSignatureInformation> &)()
________________________________________________________________________________________________________
*** CID 1634574: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sfx2/source/doc/objserv.cxx: 2201 in SfxObjectShell::ResignDocument(com::sun::star::uno::Sequence<com::sun::star::security::DocumentSignatureInformation> &)()
2195 for (auto & rInfo : rSignaturesInfo)
2196 {
2197 auto xCert = rInfo.Signer;
2198 if (xCert.is())
2199 {
2200 svl::crypto::SigningContext aSigningContext;
>>> CID 1634574: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xCert" is copied in a call to copy assignment "operator =", when it could be moved instead.
2201 aSigningContext.m_xCertificate = xCert;
2202 bSignSuccess &= SignDocumentContentUsingCertificate(aSigningContext);
2203 }
2204 }
2205
2206 return bSignSuccess;
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=u001.AxU2LYlgjL6eX23u9ErQy-2BKADyCpvUKOL6EWmZljiu6VvXBlQRUbS683tC8265rGNPXqJ1ffcoLZCnTuJFQbNcTEkb4XaEQkzovKhJ5DB3c-3DnQE7_A9M4dSy7guk8NP6DcfgslOyvJRzavztVIKj6nRqYjYpWom7SJFyX0y710bz0kUGtNjyLDdUug5972fAs8yHneovNChiuHedKGwIDfqzXmDDm6e1l7AYY-2ByjJa9L8-2BT76YhzsUcFJdAXV6jKckVapy4ZTxIPpmC1eE9KC8LvybuBedEuvNTvsr4HuIEyvJcewPxk098YLnPkSYrY74uMxM9H5SVMmC57Qx6CwP5Bceak-3D
More information about the LibreOffice
mailing list