<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>New Defects Reported - LibreOffice</title>
<style>
body { font-family: Arial, sans-serif; color: #222; line-height: 1.6; }
.button {
display: inline-block;
padding: 10px 20px;
margin: 20px 0;
font-size: 16px;
color: #fff !important;
background-color: #0056b3;
text-decoration: none;
border-radius: 5px;
}
pre {
background: #f8f9fa;
padding: 10px;
border-radius: 5px;
font-size: 14px;
overflow-x: auto;
}
</style>
</head>
<body>
<p>Hi,</p>
<p>
Please find the latest report on new defect(s) introduced to <strong>LibreOffice</strong>
found with Coverity Scan.
</p>
<ul>
<li><strong>New Defects Found:</strong> 521</li>
<li>
1140 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.
</li>
<li><strong>Defects Shown:</strong> Showing 20 of 521 defect(s)</li>
</ul>
<h3>Defect Details</h3>
<pre>
** CID 1659910: Error handling issues (UNCAUGHT_EXCEPT)
/vcl/source/window/printdlg.cxx: 721 in vcl::PrintDialog::~PrintDialog()()
_____________________________________________________________________________________________
*** CID 1659910: Error handling issues (UNCAUGHT_EXCEPT)
/vcl/source/window/printdlg.cxx: 721 in vcl::PrintDialog::~PrintDialog()()
715 mxScrolledWindow->get_preferred_size().Width() + mxScrolledWindow->get_scroll_thickness(),
716 450);
717
718 m_xDialog->set_centered_on_parent(true);
719 }
720
>>> CID 1659910: Error handling issues (UNCAUGHT_EXCEPT)
>>> An exception of type "com::sun::star::uno::DeploymentException" is thrown but the exception specification "/*implicit*/noexcept" doesn't allow it to be thrown. This will result in a call to terminate().
721 PrintDialog::~PrintDialog()
722 {
723 std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create());
724 officecfg::Office::Common::Print::Dialog::RangeSectionExpanded::set(mxRangeExpander->get_expanded(), batch);
725 officecfg::Office::Common::Print::Dialog::LayoutSectionExpanded::set(mxLayoutExpander->get_expanded(), batch);
726 batch->commit();
** CID 1659909: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
_____________________________________________________________________________________________
*** CID 1659909: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/unoobj/dapiuno.cxx: 2271 in ScDataPilotFieldObj::getGroupInfo()()
2265 const ScDPSaveGroupItem& rGroup = pGroupDim->GetGroupByIndex( nIdx );
2266 ScFieldGroup aGroup;
2267 aGroup.maName = rGroup.GetGroupName();
2268 for( sal_Int32 nMemIdx = 0, nMemCount = rGroup.GetElementCount(); nMemIdx < nMemCount; ++nMemIdx )
2269 if (const OUString* pMem = rGroup.GetElementByIndex(nMemIdx))
2270 aGroup.maMembers.push_back( *pMem );
>>> CID 1659909: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "aGroup" is copied and then passed-by-reference as parameter to STL insertion function "std::vector<ScFieldGroup, std::allocator<ScFieldGroup> >::push_back(std::vector<ScFieldGroup, std::allocator<ScFieldGroup> >::value_type const &)", when it could be moved instead.
2271 aGroups.push_back( aGroup );
2272 }
2273 aInfo.Groups = new ScDataPilotFieldGroupsObj( std::move(aGroups) );
2274 }
2275 }
2276 else if( const ScDPSaveNumGroupDimension* pNumGroupDim = pDimData->GetNumGroupDim( pDim->GetName() ) )
** CID 1659908: Error handling issues (UNCAUGHT_EXCEPT)
/sd/source/ui/framework/configuration/ConfigurationController.cxx: 96 in sd::framework::ConfigurationController::Lock::~Lock()()
_____________________________________________________________________________________________
*** CID 1659908: Error handling issues (UNCAUGHT_EXCEPT)
/sd/source/ui/framework/configuration/ConfigurationController.cxx: 96 in sd::framework::ConfigurationController::Lock::~Lock()()
90 OSL_ASSERT(mxController.is());
91
92 if (mxController.is())
93 mxController->lock();
94 }
95
>>> CID 1659908: Error handling issues (UNCAUGHT_EXCEPT)
>>> An exception of type "com::sun::star::uno::RuntimeException" is thrown but the exception specification "/*implicit*/noexcept" doesn't allow it to be thrown. This will result in a call to terminate().
96 ConfigurationController::Lock::~Lock()
97 {
98 if (mxController.is())
99 suppress_fun_call_w_exception(mxController->unlock());
100 }
101
** CID 1659907: Error handling issues (UNCAUGHT_EXCEPT)
/sw/source/ui/dbui/mmaddressblockpage.cxx: 556 in SwCustomizeAddressBlockDialog::~SwCustomizeAddressBlockDialog()()
_____________________________________________________________________________________________
*** CID 1659907: Error handling issues (UNCAUGHT_EXCEPT)
/sw/source/ui/dbui/mmaddressblockpage.cxx: 556 in SwCustomizeAddressBlockDialog::~SwCustomizeAddressBlockDialog()()
550
551 void SwCustomizeAddressBlockDialog::UpdateFields()
552 {
553 m_xDragED->UpdateFields();
554 }
555
>>> CID 1659907: Error handling issues (UNCAUGHT_EXCEPT)
>>> An exception of type "com::sun::star::uno::RuntimeException" is thrown but the exception specification "/*implicit*/noexcept" doesn't allow it to be thrown. This will result in a call to terminate().
556 SwCustomizeAddressBlockDialog::~SwCustomizeAddressBlockDialog()
557 {
558 m_xDragED->EndDropTarget();
559 }
560
561 IMPL_LINK_NOARG(SwCustomizeAddressBlockDialog, OKHdl_Impl, weld::Button&, void)
** CID 1659906: API usage errors (LOCK)
_____________________________________________________________________________________________
*** CID 1659906: API usage errors (LOCK)
/sc/source/filter/oox/workbookfragment.cxx: 350 in oox::xls::<unnamed>::importSheetFragments(oox::xls::WorkbookFragment &, std::vector<std::pair<std::shared_ptr<oox::xls::WorksheetGlobals>, rtl::Reference<oox::core::FragmentHandler>>, std::allocator<std::pair<std::shared_ptr<oox::xls::WorksheetGlobals>, rtl::Reference<oox::core::FragmentHandler>>>> &)()
344 // This is a much more controlled re-enterancy hazard than
345 // allowing a yield deeper inside the filter code for progress
346 // bar updating.
347 Application::Yield();
348 }
349 #endif
>>> CID 1659906: API usage errors (LOCK)
>>> "waitUntilDone" waits while "rSharedPool.maMutex" is unlocked.
350 rSharedPool.waitUntilDone(pTag);
351
352 // threads joined in ThreadPool destructor
353 }
354
355 }
** CID 1659905: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/unoxml/source/rdf/librdf_repository.cxx: 2310 in <unnamed>::librdf_TypeConverter::extractStatement_NoLock(const com::sun::star::uno::Reference<com::sun::star::rdf::XResource> &, const com::sun::star::uno::Reference<com::sun::star::rdf::XURI> &, const com::sun::star::uno::Reference<com::sun::star::rdf::XNode> &)()
_____________________________________________________________________________________________
*** CID 1659905: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/unoxml/source/rdf/librdf_repository.cxx: 2310 in <unnamed>::librdf_TypeConverter::extractStatement_NoLock(const com::sun::star::uno::Reference<com::sun::star::rdf::XResource> &, const com::sun::star::uno::Reference<com::sun::star::rdf::XURI> &, const com::sun::star::uno::Reference<com::sun::star::rdf::XNode> &)()
2304 {
2305 std::shared_ptr<Resource> const pSubject(
2306 extractResource_NoLock(i_xSubject));
2307 std::shared_ptr<URI> const pPredicate(
2308 std::dynamic_pointer_cast<URI>(extractResource_NoLock(i_xPredicate)));
2309 std::shared_ptr<Node> const pObject(extractNode_NoLock(i_xObject));
>>> CID 1659905: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "pSubject" is passed-by-value as parameter to "std::shared_ptr<<unnamed>::librdf_TypeConverter::Resource>::shared_ptr(std::shared_ptr<<unnamed>::librdf_TypeConverter::Resource> const &) /*explicit =default*/", when it could be moved instead.
2310 return Statement(pSubject, pPredicate, pObject);
2311 }
2312
2313 librdf_statement* librdf_TypeConverter::mkStatement_Lock(librdf_world* i_pWorld,
2314 Statement const& i_rStatement)
2315 {
** CID 1659904: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
_____________________________________________________________________________________________
*** CID 1659904: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx: 749 in sw::sidebar::UpdateTree(SwDocShell &, const SwEditShell &, std::vector<svx::sidebar::TreeNode, std::allocator<svx::sidebar::TreeNode>> &, int &)()
743 }
744 if (aFieldsNode.children.size() > 0)
745 {
746 aStore.push_back(aFieldsNode);
747 rParIdx++;
748 }
>>> CID 1659904: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "aParaNode" is copied and then passed-by-reference as parameter to STL insertion function "std::vector<svx::sidebar::TreeNode, std::allocator<svx::sidebar::TreeNode> >::push_back(std::vector<svx::sidebar::TreeNode, std::allocator<svx::sidebar::TreeNode> >::value_type const &)", when it could be moved instead.
749 aStore.push_back(aParaNode);
750 aStore.push_back(aParaDFNode);
751 aStore.push_back(aCharNode);
752 aStore.push_back(aCharDFNode);
753 }
754
** CID 1659903: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/docvw/HeaderFooterWin.cxx: 438 in SwHeaderFooterWin::PaintButton()()
_____________________________________________________________________________________________
*** CID 1659903: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/docvw/HeaderFooterWin.cxx: 438 in SwHeaderFooterWin::PaintButton()()
432 double nFadeRate = double(m_nFadeRate) / 100.0;
433
434 const basegfx::BColorModifierSharedPtr aBColorModifier =
435 std::make_shared<basegfx::BColorModifier_interpolate>(COL_WHITE.getBColor(),
436 1.0 - nFadeRate);
437
>>> CID 1659903: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "aBColorModifier" is passed-by-value as parameter to "std::shared_ptr<basegfx::BColorModifier>::shared_ptr(std::shared_ptr<basegfx::BColorModifier> const &) /*explicit =default*/", when it could be moved instead.
438 aGhostedSeq.push_back(new drawinglayer::primitive2d::ModifiedColorPrimitive2D(std::move(aSeq), aBColorModifier));
439
440 pProcessor->process(aGhostedSeq);
441
442 if (bIsEmptyHeaderFooter)
443 m_xPushButton->set_custom_button(m_xVirDev.get());
** CID 1659902: API usage errors (LOCK)
/toolkit/source/controls/grid/sortablegriddatamodel.cxx: 812 in <unnamed>::SortableGridDataModel::getRowData(int)()
_____________________________________________________________________________________________
*** CID 1659902: API usage errors (LOCK)
/toolkit/source/controls/grid/sortablegriddatamodel.cxx: 812 in <unnamed>::SortableGridDataModel::getRowData(int)()
806 throwIfNotInitialized();
807
808 ::sal_Int32 const rowIndex = impl_getPrivateRowIndex_throw( aGuard, i_rowIndex );
809
810 Reference< XMutableGridDataModel > const delegator( m_delegator );
811 aGuard.unlock();
>>> CID 1659902: API usage errors (LOCK)
>>> "~unique_lock" unlocks "aGuard" while it is unlocked. [Note: The source code implementation of the function has been overridden by a builtin model.]
812 return delegator->getRowData( rowIndex );
813 }
814
815
816 void SortableGridDataModel::disposing(std::unique_lock<std::mutex>& /*rGuard*/)
817 {
** CID 1659901: Control flow issues (DEADCODE)
/tools/source/generic/config.cxx: 106 in ImplSysReadConfig(const rtl::OUString &, unsigned long &, bool &, bool &, unsigned int &)()
_____________________________________________________________________________________________
*** CID 1659901: Control flow issues (DEADCODE)
/tools/source/generic/config.cxx: 106 in ImplSysReadConfig(const rtl::OUString &, unsigned long &, bool &, bool &, unsigned int &)()
100 if( aFile.open( osl_File_OpenFlag_Read ) == ::osl::FileBase::E_None )
101 {
102 sal_uInt64 nPos = 0;
103 if( aFile.getSize( nPos ) == ::osl::FileBase::E_None )
104 {
105 if (nPos > SAL_MAX_SIZE) {
>>> CID 1659901: Control flow issues (DEADCODE)
>>> Execution cannot reach this statement: "aFile.close();".
106 aFile.close();
107 return nullptr;
108 }
109 pBuf.reset(new sal_uInt8[static_cast< std::size_t >(nPos)]);
110 sal_uInt64 nRead = 0;
111 if( aFile.read( pBuf.get(), nPos, nRead ) == ::osl::FileBase::E_None && nRead == nPos )
** CID 1659900: API usage errors (LOCK)
/toolkit/source/helper/listenermultiplexer.cxx: 178 in TabListenerMultiplexer::activated(int)()
_____________________________________________________________________________________________
*** CID 1659900: API usage errors (LOCK)
/toolkit/source/helper/listenermultiplexer.cxx: 178 in TabListenerMultiplexer::activated(int)()
172 }
173 }
174 }
175
176
177 void TabListenerMultiplexer::activated( sal_Int32 evt )
>>> CID 1659900: API usage errors (LOCK)
>>> "~unique_lock" unlocks "g" while it is unlocked. [Note: The source code implementation of the function has been overridden by a builtin model.]
178 IMPL_TABLISTENERMULTIPLEXER_LISTENERMETHOD_BODY_1PARAM( TabListenerMultiplexer, css::awt::XTabListener, activated, ::sal_Int32 )
179
180 void TabListenerMultiplexer::deactivated( sal_Int32 evt )
181 IMPL_TABLISTENERMULTIPLEXER_LISTENERMETHOD_BODY_1PARAM( TabListenerMultiplexer, css::awt::XTabListener, deactivated, ::sal_Int32 )
182
183
** CID 1659899: API usage errors (LOCK)
/toolkit/source/helper/listenermultiplexer.cxx: 225 in TreeExpansionListenerMultiplexer::requestChildNodes(const com::sun::star::awt::tree::TreeExpansionEvent &)()
_____________________________________________________________________________________________
*** CID 1659899: API usage errors (LOCK)
/toolkit/source/helper/listenermultiplexer.cxx: 225 in TreeExpansionListenerMultiplexer::requestChildNodes(const com::sun::star::awt::tree::TreeExpansionEvent &)()
219 IMPL_LISTENERMULTIPLEXER_LISTENERMETHOD( TreeSelectionListenerMultiplexer, css::view::XSelectionChangeListener, selectionChanged, css::lang::EventObject )
220
221
222 // class TreeSelectionListenerMultiplexer
223
224 IMPL_LISTENERMULTIPLEXER_BASEMETHODS( TreeExpansionListenerMultiplexer, css::awt::tree::XTreeExpansionListener )
>>> CID 1659899: API usage errors (LOCK)
>>> "~unique_lock" unlocks "g" while it is unlocked. [Note: The source code implementation of the function has been overridden by a builtin model.]
225 IMPL_LISTENERMULTIPLEXER_LISTENERMETHOD( TreeExpansionListenerMultiplexer, css::awt::tree::XTreeExpansionListener, requestChildNodes, css::awt::tree::TreeExpansionEvent )
226 IMPL_LISTENERMULTIPLEXER_LISTENERMETHOD_EXCEPTION( TreeExpansionListenerMultiplexer, css::awt::tree::XTreeExpansionListener, treeExpanding, css::awt::tree::TreeExpansionEvent, css::awt::tree::ExpandVetoException )
227 IMPL_LISTENERMULTIPLEXER_LISTENERMETHOD_EXCEPTION( TreeExpansionListenerMultiplexer, css::awt::tree::XTreeExpansionListener, treeCollapsing, css::awt::tree::TreeExpansionEvent, css::awt::tree::ExpandVetoException )
228 IMPL_LISTENERMULTIPLEXER_LISTENERMETHOD( TreeExpansionListenerMultiplexer, css::awt::tree::XTreeExpansionListener, treeExpanded, css::awt::tree::TreeExpansionEvent )
229 IMPL_LISTENERMULTIPLEXER_LISTENERMETHOD( TreeExpansionListenerMultiplexer, css::awt::tree::XTreeExpansionListener, treeCollapsed, css::awt::tree::TreeExpansionEvent )
230
** CID 1659898: API usage errors (LOCK)
/unotools/source/config/cmdoptions.cxx: 303 in SvtCommandOptions::SvtCommandOptions()()
_____________________________________________________________________________________________
*** CID 1659898: API usage errors (LOCK)
/unotools/source/config/cmdoptions.cxx: 303 in SvtCommandOptions::SvtCommandOptions()()
297 {
298 m_pImpl = std::make_shared<SvtCommandOptions_Impl>();
299 g_pCommandOptions = m_pImpl;
300 aGuard.unlock(); // because holdConfigItem will call this constructor
301 ItemHolder1::holdConfigItem(EItem::CmdOptions);
302 }
>>> CID 1659898: API usage errors (LOCK)
>>> "~unique_lock" unlocks "aGuard" while it is unlocked. [Note: The source code implementation of the function has been overridden by a builtin model.]
303 }
304
305 SvtCommandOptions::~SvtCommandOptions()
306 {
307 // Global access, must be guarded (multithreading!)
308 std::unique_lock aGuard( GetOwnStaticMutex() );
** CID 1659897: API usage errors (LOCK)
_____________________________________________________________________________________________
*** CID 1659897: API usage errors (LOCK)
/drawinglayer/source/primitive2d/sceneprimitive2d.cxx: 492 in drawinglayer::primitive2d::ScenePrimitive2D::create2DDecomposition(const drawinglayer::geometry::ViewInformation2D &) const()
486 nLinesPerThread * a,
487 a + 1 == nThreadCount ? aBZPixelRaster.getHeight() : nLinesPerThread * (a + 1)));
488 std::unique_ptr<Executor> pExecutor(new Executor(aTag, std::move(pNewZBufferProcessor3D), getChildren3D()));
489 rThreadPool.pushTask(std::move(pExecutor));
490 }
491
>>> CID 1659897: API usage errors (LOCK)
>>> "waitUntilDone" waits while "rThreadPool.maMutex" is unlocked.
492 rThreadPool.waitUntilDone(aTag);
493 }
494 else
495 {
496 // use default 3D primitive processor to create BitmapEx for aUnitVisiblePart and process
497 processor3d::ZBufferProcessor3D aZBufferProcessor3D(
** CID 1659896: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/svx/source/dialog/ClassificationDialog.cxx: 365 in svx::ClassificationDialog::readRecentlyUsed()()
_____________________________________________________________________________________________
*** CID 1659896: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/svx/source/dialog/ClassificationDialog.cxx: 365 in svx::ClassificationDialog::readRecentlyUsed()()
359 aResults.emplace_back(eType, sString, sAbbreviatedString, sIdentifier);
360 }
361 }
362 aWalker.next();
363 }
364 aWalker.parent();
>>> CID 1659896: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "aResults" is copied and then passed-by-reference as parameter to STL insertion function "std::vector<std::vector<svx::ClassificationResult, std::allocator<svx::ClassificationResult> >, std::allocator<std::vector<svx::ClassificationResult, std::allocator<svx::ClassificationResult> > > >::push_back(std::vector<std::vector<svx::ClassificationResult, std::allocator<svx::ClassificationResult> >, std::allocator<std::vector<svx::ClassificationResult, std::allocator<svx::ClassificationResult> > > >::value_type const &)", when it could be moved instead.
365 m_aRecentlyUsedValuesCollection.push_back(aResults);
366 }
367 aWalker.next();
368 }
369 aWalker.parent();
370 }
** CID 1659895: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
_____________________________________________________________________________________________
*** CID 1659895: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar.cxx: 203 in gtv_calc_header_bar_configure()
197 {
198 int nSize = std::round(std::atof(rValue.second.get<std::string>("size").c_str()));
199 if (nSize >= bar->m_nPositionPixel)
200 {
201 const int nScrolledSize = nSize - bar->m_nPositionPixel;
202 GtvCalcHeaderBarPrivateImpl::Header aHeader(nScrolledSize, rValue.second.get<std::string>("text"));
>>> CID 1659895: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "aHeader" is copied and then passed-by-reference as parameter to STL insertion function "std::vector<<unnamed>::GtvCalcHeaderBarPrivateImpl::Header, std::allocator<<unnamed>::GtvCalcHeaderBarPrivateImpl::Header> >::push_back(std::vector<<unnamed>::GtvCalcHeaderBarPrivateImpl::Header, std::allocator<<unnamed>::GtvCalcHeaderBarPrivateImpl::Header> >::value_type const &)", when it could be moved instead.
203 priv->m_aHeaders.push_back(aHeader);
204 }
205 }
206 }
207 catch (boost::property_tree::ptree_bad_path& rException)
208 {
** CID 1659894: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sd/source/ui/presenter/CanvasUpdateRequester.cxx: 68 in sd::presenter::CanvasUpdateRequester::Instance(const com::sun::star::uno::Reference<com::sun::star::rendering::XSpriteCanvas> &)()
_____________________________________________________________________________________________
*** CID 1659894: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sd/source/ui/presenter/CanvasUpdateRequester.cxx: 68 in sd::presenter::CanvasUpdateRequester::Instance(const com::sun::star::uno::Reference<com::sun::star::rendering::XSpriteCanvas> &)()
62 }
63 else
64 {
65 std::shared_ptr<CanvasUpdateRequester> const pNew(
66 new CanvasUpdateRequester(rxSharedCanvas), Deleter());
67 it->second = pNew;
>>> CID 1659894: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "pNew" is passed-by-value as parameter to "std::shared_ptr<sd::presenter::CanvasUpdateRequester>::shared_ptr(std::shared_ptr<sd::presenter::CanvasUpdateRequester> const &) /*explicit =default*/", when it could be moved instead.
68 return pNew;
69 }
70 }
71 else
72 {
73 ++it;
** CID 1659893: Incorrect expression (DIVIDE_BY_ZERO)
/scaddins/source/analysis/analysishelper.cxx: 1068 in sca::analysis::GetYieldmat(int, int, int, int, double, double, int)()
_____________________________________________________________________________________________
*** CID 1659893: Incorrect expression (DIVIDE_BY_ZERO)
/scaddins/source/analysis/analysishelper.cxx: 1068 in sca::analysis::GetYieldmat(int, int, int, int, double, double, int)()
1062 double fIssSet = GetYearFrac( nNullDate, nIssue, nSettle, nBase );
1063 double fSetMat = GetYearFrac( nNullDate, nSettle, nMat, nBase );
1064
1065 double y = 1.0 + fIssMat * fRate;
1066 y /= fPrice / 100.0 + fIssSet * fRate;
1067 y--;
>>> CID 1659893: Incorrect expression (DIVIDE_BY_ZERO)
>>> In expression "y /= fSetMat", division by expression "fSetMat" which may be zero has undefined behavior.
1068 y /= fSetMat;
1069
1070 return y;
1071 }
1072
1073
** CID 1659892: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
_____________________________________________________________________________________________
*** CID 1659892: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/editeng/source/editeng/impedit4.cxx: 2200 in ImpEditEngine::AddPortion(const EditSelection &, const com::sun::star::uno::Reference<com::sun::star::linguistic2::XSpellAlternatives> &, std::vector<svx::SpellPortion, std::allocator<svx::SpellPortion>> &, bool)()
2194 aPortion.eLanguage = GetLanguage( rSel.Min() ).nLang;
2195 aPortion.xAlternatives = xAlt;
2196 aPortion.bIsField = bIsField;
2197 rToFill.push_back(aPortion);
2198
2199 //save the spelled portions for later use
>>> CID 1659892: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "aPortion" is copied and then passed-by-reference as parameter to STL insertion function "std::vector<svx::SpellPortion, std::allocator<svx::SpellPortion> >::push_back(std::vector<svx::SpellPortion, std::allocator<svx::SpellPortion> >::value_type const &)", when it could be moved instead.
2200 mpSpellInfo->aLastSpellPortions.push_back(aPortion);
2201 mpSpellInfo->aLastSpellContentSelections.push_back(rSel);
2202 }
2203
2204 // Adds one or more portions of text to the SpellPortions depending on language changes
2205 void ImpEditEngine::AddPortionIterated(
** CID 1659891: API usage errors (LOCK)
/comphelper/source/misc/instancelocker.cxx: 333 in OLockListener::notifyClosing(const com::sun::star::lang::EventObject &)()
_____________________________________________________________________________________________
*** CID 1659891: API usage errors (LOCK)
/comphelper/source/misc/instancelocker.cxx: 333 in OLockListener::notifyClosing(const com::sun::star::lang::EventObject &)()
327 if ( xComponent.is() )
328 {
329 try { xComponent->dispose(); }
330 catch( uno::Exception& ){}
331 }
332 }
>>> CID 1659891: API usage errors (LOCK)
>>> "~unique_lock" unlocks "aGuard" while it is unlocked. [Note: The source code implementation of the function has been overridden by a builtin model.]
333 }
334
335
336 // XTerminateListener
337
338 void SAL_CALL OLockListener::queryTermination( const lang::EventObject& aEvent )
</pre>
<p>
<a href="https://scan.coverity.com/projects/libreoffice?tab=overview" class="button">View Defects in Coverity Scan</a>
</p>
<p>Best regards,</p>
<p>The Coverity Scan Admin Team</p>
<img class="logo" width="140" src="https://scan.coverity.com/assets/BlackDuckLogo-6697adc63e07340464201a2ad534d3d3e44f95d36edda20b140440d34f05372f.svg" />
</body>
</html>