New Defects reported by Coverity Scan for LibreOffice

scan-admin at coverity.com scan-admin at coverity.com
Sat Feb 29 08:32:12 UTC 2020


Hi,

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

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


** CID 1459030:  Control flow issues  (MISSING_BREAK)
/workdir/UnpackedTarball/dtoa/src/dtoa.c: 3610 in strtod_nolocale()


________________________________________________________________________________________________________
*** CID 1459030:  Control flow issues  (MISSING_BREAK)
/workdir/UnpackedTarball/dtoa/src/dtoa.c: 3610 in strtod_nolocale()
3604     		if (!nd && !nz && !nz0) {
3605     			goto ret0;
3606     			}
3607     		s00 = s;
3608     		esign = 0;
3609     		switch(c = *++s) {
>>>     CID 1459030:  Control flow issues  (MISSING_BREAK)
>>>     The case for value "45" is not terminated by a 'break' statement.
3610     			case '-':
3611     				esign = 1;
3612     			case '+':
3613     				c = *++s;
3614     			}
3615     		if (c >= '0' && c <= '9') {

** CID 1459029:  Incorrect expression  (COPY_PASTE_ERROR)
/workdir/UnpackedTarball/dtoa/src/dtoa.c: 3350 in bigcomp()


________________________________________________________________________________________________________
*** CID 1459029:  Incorrect expression  (COPY_PASTE_ERROR)
/workdir/UnpackedTarball/dtoa/src/dtoa.c: 3350 in bigcomp()
3344     		dig = quorem(b,d);
3345     		}
3346     	for(j = bc->dp1; i++ < nd;) {
3347     		if ((dd = s0[j++] - '0' - dig))
3348     			goto ret;
3349     		if (!b->x[0] && b->wds == 1) {
>>>     CID 1459029:  Incorrect expression  (COPY_PASTE_ERROR)
>>>     "i" in "i < nd" looks like a copy-paste error.
3350     			if (i < nd)
3351     				dd = 1;
3352     			goto ret;
3353     			}
3354     		b = multadd(b, 10, 0 MTa);
3355     		dig = quorem(b,d);

** CID 1459028:  Error handling issues  (CHECKED_RETURN)
/sw/source/uibase/dbui/dbtree.cxx: 419 in SwDBTreeList::ShowColumns(bool)()


________________________________________________________________________________________________________
*** CID 1459028:  Error handling issues  (CHECKED_RETURN)
/sw/source/uibase/dbui/dbtree.cxx: 419 in SwDBTreeList::ShowColumns(bool)()
413                 {
414                     GotoRootLevelParent(*m_xTreeView, *xIter);
415                     m_xTreeView->collapse_row(*xIter);
416                     while (m_xTreeView->iter_has_child(*xIter))
417                     {
418                         m_xTreeView->copy_iterator(*xIter, *xChild);
>>>     CID 1459028:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "iter_children" without checking return value (as is done elsewhere 32 out of 40 times).
419                         m_xTreeView->iter_children(*xChild);
420                         m_xTreeView->remove(*xChild);
421                     }
422                 } while (m_xTreeView->iter_next(*xIter));
423             }
424     

** CID 1459027:  Error handling issues  (CHECKED_RETURN)
/xmlsecurity/source/dialogs/certificateviewer.cxx: 298 in CertificateViewerCertPathTP::ActivatePage()()


________________________________________________________________________________________________________
*** CID 1459027:  Error handling issues  (CHECKED_RETURN)
/xmlsecurity/source/dialogs/certificateviewer.cxx: 298 in CertificateViewerCertPathTP::ActivatePage()()
292                 {
293                     xParent = mxCertPathLB->make_iterator();
294                     (void)mxCertPathLB->get_iter_first(*xParent);
295                 }
296                 else
297                 {
>>>     CID 1459027:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "iter_children" without checking return value (as is done elsewhere 32 out of 40 times).
298                     mxCertPathLB->iter_children(*xParent);
299                 }
300             }
301     
302             if (xParent)
303                 mxCertPathLB->select(*xParent);

** CID 1459026:  Error handling issues  (CHECKED_RETURN)
/fpicker/source/office/foldertree.cxx: 64 in FolderTree::FillTreeEntry(const weld::TreeIter &)()


________________________________________________________________________________________________________
*** CID 1459026:  Error handling issues  (CHECKED_RETURN)
/fpicker/source/office/foldertree.cxx: 64 in FolderTree::FillTreeEntry(const weld::TreeIter &)()
58     
59         if (m_sLastUpdatedDir != sURL)
60         {
61             while (m_xTreeView->iter_has_child(rEntry))
62             {
63                 std::unique_ptr<weld::TreeIter> xChild(m_xTreeView->make_iterator(&rEntry));
>>>     CID 1459026:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "iter_children" without checking return value (as is done elsewhere 32 out of 40 times).
64                 m_xTreeView->iter_children(*xChild);
65                 m_xTreeView->remove(*xChild);
66             }
67     
68             ::std::vector< std::unique_ptr<SortingData_Impl> > aContent;
69     

** CID 1459025:  Error handling issues  (CHECKED_RETURN)
/sd/source/ui/dlg/sdtreelb.cxx: 872 in SdPageObjsTLV::RequestingChildrenHdl(const weld::TreeIter &)()


________________________________________________________________________________________________________
*** CID 1459025:  Error handling issues  (CHECKED_RETURN)
/sd/source/ui/dlg/sdtreelb.cxx: 872 in SdPageObjsTLV::RequestingChildrenHdl(const weld::TreeIter &)()
866                         m_xTreeView->insert(&rFileEntry, -1, &pPage->GetName(), &sId,
867                                             nullptr, nullptr, &sImgPage, false, nullptr);
868     
869                         if (!xPageEntry)
870                         {
871                             xPageEntry = m_xTreeView->make_iterator(&rFileEntry);
>>>     CID 1459025:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "iter_children" without checking return value (as is done elsewhere 32 out of 40 times).
872                             m_xTreeView->iter_children(*xPageEntry);
873                         }
874                         else
875                             (void)m_xTreeView->iter_next_sibling(*xPageEntry);
876     
877                         SdrObjListIter aIter( pPage, SdrIterMode::DeepWithGroups );

** CID 1459024:  Error handling issues  (CHECKED_RETURN)
/sw/source/ui/dialog/uiregionsw.cxx: 897 in SwEditRegionDlg::ChangeDismissHdl(weld::Button &)()


________________________________________________________________________________________________________
*** CID 1459024:  Error handling issues  (CHECKED_RETURN)
/sw/source/ui/dialog/uiregionsw.cxx: 897 in SwEditRegionDlg::ChangeDismissHdl(weld::Button &)()
891             {
892                 m_SectReprs.insert(std::make_pair(pSectRepr->GetArrPos(),
893                             std::unique_ptr<SectRepr>(pSectRepr)));
894                 if (m_xTree->iter_has_child(*xEntry))
895                 {
896                     std::unique_ptr<weld::TreeIter> xChild(m_xTree->make_iterator(xEntry.get()));
>>>     CID 1459024:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "iter_children" without checking return value (as is done elsewhere 32 out of 40 times).
897                     m_xTree->iter_children(*xChild);
898                     std::unique_ptr<weld::TreeIter> xParent(m_xTree->make_iterator(xEntry.get()));
899                     if (!m_xTree->iter_parent(*xParent))
900                         xParent.reset();
901                     bool bChild = true;
902                     do

** CID 1459023:  Null pointer dereferences  (NULL_RETURNS)


________________________________________________________________________________________________________
*** CID 1459023:  Null pointer dereferences  (NULL_RETURNS)
/sc/source/ui/navipi/content.cxx: 372 in ScContentTree::ContentDoubleClickHdl(weld::TreeView &)()
366                 {
367                     const ScAreaLink* pLink = GetLink( nChild );
368                     if( pLink )
369                     {
370                         const ScRange& aRange = pLink->GetDestArea();
371                         ScDocument* pSrcDoc = GetSourceDocument();
>>>     CID 1459023:  Null pointer dereferences  (NULL_RETURNS)
>>>     Dereferencing a pointer that might be "nullptr" "pSrcDoc" when calling "GetAddressConvention".
372                         OUString aRangeStr(aRange.Format(*pSrcDoc, ScRefFlags::RANGE_ABS_3D, pSrcDoc->GetAddressConvention()));
373                         pParentWindow->SetCurrentCellStr( aRangeStr );
374                     }
375                 }
376                 break;
377                 default: break;

** CID 1459022:  Uninitialized members  (UNINIT_CTOR)
/sd/source/ui/dlg/sdtreelb.cxx: 662 in SdPageObjsTLV::SdPageObjsTLV(std::unique_ptr<weld::TreeView, std::default_delete<weld::TreeView>>)()


________________________________________________________________________________________________________
*** CID 1459022:  Uninitialized members  (UNINIT_CTOR)
/sd/source/ui/dlg/sdtreelb.cxx: 662 in SdPageObjsTLV::SdPageObjsTLV(std::unique_ptr<weld::TreeView, std::default_delete<weld::TreeView>>)()
656         m_xTreeView->connect_changed(LINK(this, SdPageObjsTLV, SelectHdl));
657         m_xTreeView->connect_row_activated(LINK(this, SdPageObjsTLV, RowActivatedHdl));
658         m_xTreeView->connect_drag_begin(LINK(this, SdPageObjsTLV, DragBeginHdl));
659         m_xTreeView->connect_key_press(LINK(this, SdPageObjsTLV, KeyInputHdl));
660         m_xTreeView->connect_mouse_press(LINK(this, SdPageObjsTLV, MousePressHdl));
661         m_xTreeView->connect_mouse_release(LINK(this, SdPageObjsTLV, MouseReleaseHdl));
>>>     CID 1459022:  Uninitialized members  (UNINIT_CTOR)
>>>     Non-static class member "m_bShowAllShapes" is not initialized in this constructor nor in any functions that it calls.
662     }
663     
664     IMPL_LINK_NOARG(SdPageObjsTLV, SelectHdl, weld::TreeView&, void)
665     {
666         if (m_nSelectEventId)
667             Application::RemoveUserEvent(m_nSelectEventId);

** CID 1459021:  Error handling issues  (CHECKED_RETURN)
/fpicker/source/office/foldertree.cxx: 112 in FolderTree::FillTreeEntry(const rtl::OUString &, const std::vector<std::pair<rtl::OUString, rtl::OUString>, std::allocator<std::pair<rtl::OUString, rtl::OUString>>> &)()


________________________________________________________________________________________________________
*** CID 1459021:  Error handling issues  (CHECKED_RETURN)
/fpicker/source/office/foldertree.cxx: 112 in FolderTree::FillTreeEntry(const rtl::OUString &, const std::vector<std::pair<rtl::OUString, rtl::OUString>, std::allocator<std::pair<rtl::OUString, rtl::OUString>>> &)()
106             return;
107     
108         OUString sFolderImage(RID_BMP_FOLDER);
109         while (m_xTreeView->iter_has_child(*xParent))
110         {
111             std::unique_ptr<weld::TreeIter> xChild(m_xTreeView->make_iterator(xParent.get()));
>>>     CID 1459021:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "iter_children" without checking return value (as is done elsewhere 32 out of 40 times).
112             m_xTreeView->iter_children(*xChild);
113             m_xTreeView->remove(*xChild);
114         }
115     
116         for (auto const& folder : rFolders)
117         {

** CID 1459020:  Resource leaks  (RESOURCE_LEAK)
/chart2/source/view/charttypes/VSeriesPlotter.cxx: 757 in chart::VSeriesPlotter::createDataLabel(const com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> &, chart::VDataSeries &, int, double, double, const com::sun::star::awt::Point &, chart::LabelAlignment, int, int)()


________________________________________________________________________________________________________
*** CID 1459020:  Resource leaks  (RESOURCE_LEAK)
/chart2/source/view/charttypes/VSeriesPlotter.cxx: 757 in chart::VSeriesPlotter::createDataLabel(const com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> &, chart::VDataSeries &, int, double, double, const com::sun::star::awt::Point &, chart::LabelAlignment, int, int)()
751                             aPoints[0].realloc(2);
752                             aPoints[0][0].X = nX1;
753                             aPoints[0][0].Y = nY1;
754                             aPoints[0][1].X = nX2;
755                             aPoints[0][1].Y = nY2;
756     
>>>     CID 1459020:  Resource leaks  (RESOURCE_LEAK)
>>>     Failing to save or free storage allocated by "new chart::VLineProperties" leaks it.
757                             m_pShapeFactory->createLine2D(xTarget, aPoints, new VLineProperties);
758                         }
759                     }
760                 }
761             }
762     

** CID 1459019:  Control flow issues  (DEADCODE)
/workdir/UnpackedTarball/dtoa/src/dtoa.c: 3035 in gethex()


________________________________________________________________________________________________________
*** CID 1459019:  Control flow issues  (DEADCODE)
/workdir/UnpackedTarball/dtoa/src/dtoa.c: 3035 in gethex()
3029     				}
3030     			else if (b->wds > k
3031     			 || ((n = nbits & kmask) !=0
3032     			     && hi0bits(x[k-1]) < 32-n)) {
3033     				rshift(b,1);
3034     				if (++e > Emax)
>>>     CID 1459019:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "goto ovfl;".
3035     					goto ovfl;
3036     				}
3037     			}
3038     		}
3039     #ifdef IEEE_Arith
3040     	if (denorm)

** CID 1459018:  Error handling issues  (CHECKED_RETURN)
/sc/source/ui/xmlsource/xmlsourcedlg.cxx: 285 in ScXMLSourceDlg::DefaultElementSelected(weld::TreeIter &)()


________________________________________________________________________________________________________
*** CID 1459018:  Error handling issues  (CHECKED_RETURN)
/sc/source/ui/xmlsource/xmlsourcedlg.cxx: 285 in ScXMLSourceDlg::DefaultElementSelected(weld::TreeIter &)()
279     {
280         if (mxLbTree->iter_has_child(rEntry))
281         {
282             // Only an element with no child elements (leaf element) can be linked.
283             bool bHasChild = false;
284             std::unique_ptr<weld::TreeIter> xChild(mxLbTree->make_iterator(&rEntry));
>>>     CID 1459018:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "iter_children" without checking return value (as is done elsewhere 32 out of 40 times).
285             mxLbTree->iter_children(*xChild);
286             do
287             {
288                 ScOrcusXMLTreeParam::EntryData* pUserData = ScOrcusXMLTreeParam::getUserData(*mxLbTree, *xChild);
289                 OSL_ASSERT(pUserData);
290                 if (pUserData->meType != ScOrcusXMLTreeParam::Attribute)

** CID 1202735:  Integer handling issues  (BAD_SHIFT)
/workdir/UnpackedTarball/dtoa/src/dtoa.c: 2306 in d2b()


________________________________________________________________________________________________________
*** CID 1202735:  Integer handling issues  (BAD_SHIFT)
/workdir/UnpackedTarball/dtoa/src/dtoa.c: 2306 in d2b()
2300     		z |= Exp_msk1;
2301     #endif
2302     #ifdef Pack_32
2303     	if ((y = d1)) {
2304     		if ((k = lo0bits(&y))) {
2305     			x[0] = y | z << (32 - k);
>>>     CID 1202735:  Integer handling issues  (BAD_SHIFT)
>>>     In expression "z >>= k", right shifting by more than 31 bits has undefined behavior.  The shift amount, "k", is 32.
2306     			z >>= k;
2307     			}
2308     		else
2309     			x[0] = y;
2310     #ifndef Sudden_Underflow
2311     		i =

** CID 1019313:    (CHECKED_RETURN)
/usr/include/boost/spirit/home/classic/core/composite/actions.hpp: 110 in boost::spirit::classic::action<boost::spirit::classic::sequence<boost::spirit::classic::sequence<boost::spirit::classic::chlit<char>, boost::spirit::classic::kleene_star<boost::spirit::classic::intersection<boost::spirit::classic::negated_char_parser<boost::spirit::classic::chlit<char>>, boost::spirit::classic::negated_char_parser<boost::spirit::classic::chlit<char>>>>>, boost::spirit::classic::eol_parser>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, <unnamed>::PDFGrammar<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>>, boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>, boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>>, boost::_bi::list3<boost::_bi::value<<unnamed>::PDFGrammar<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>> *>, boost::arg<(int)1>, boost::arg<(int)2>>>>::parse<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>, boost::spirit::classic::scanner_policies<boost::spirit::classic::no_skipper_iteration_policy<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy>>>(const T1 &) const()
/usr/include/boost/spirit/home/classic/core/composite/actions.hpp: 110 in boost::spirit::classic::action<boost::spirit::classic::uint_parser<unsigned int, (int)10, (unsigned int)1, (int)-1>, boost::_bi::bind_t<void, boost::_mfi::mf1<void, <unnamed>::PDFGrammar<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>>, unsigned int>, boost::_bi::list2<boost::_bi::value<<unnamed>::PDFGrammar<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>> *>, boost::arg<(int)1>>>>::parse<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>, boost::spirit::classic::scanner_policies<boost::spirit::classic::no_skipper_iteration_policy<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy>>>(const T1 &) const()
/usr/include/boost/spirit/home/classic/core/composite/actions.hpp: 110 in boost::spirit::classic::action<boost::spirit::classic::kleene_star<boost::spirit::classic::chset<char>>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, <unnamed>::PDFGrammar<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>>, boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>, boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>>, boost::_bi::list3<boost::_bi::value<<unnamed>::PDFGrammar<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>> *>, boost::arg<(int)1>, boost::arg<(int)2>>>>::parse<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>, boost::spirit::classic::scanner_policies<boost::spirit::classic::no_skipper_iteration_policy<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy>>>(const T1 &) const()


________________________________________________________________________________________________________
*** CID 1019313:    (CHECKED_RETURN)
/usr/include/boost/spirit/home/classic/core/composite/actions.hpp: 110 in boost::spirit::classic::action<boost::spirit::classic::sequence<boost::spirit::classic::sequence<boost::spirit::classic::chlit<char>, boost::spirit::classic::kleene_star<boost::spirit::classic::intersection<boost::spirit::classic::negated_char_parser<boost::spirit::classic::chlit<char>>, boost::spirit::classic::negated_char_parser<boost::spirit::classic::chlit<char>>>>>, boost::spirit::classic::eol_parser>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, <unnamed>::PDFGrammar<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>>, boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>, boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>>, boost::_bi::list3<boost::_bi::value<<unnamed>::PDFGrammar<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>> *>, boost::arg<(int)1>, boost::arg<(int)2>>>>::parse<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>, boost::spirit::classic::scanner_policies<boost::spirit::classic::no_skipper_iteration_policy<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy>>>(const T1 &) const()
104             typename parser_result<self_t, ScannerT>::type
105             parse(ScannerT const& scan) const
106             {
107                 typedef typename ScannerT::iterator_t iterator_t;
108                 typedef typename parser_result<self_t, ScannerT>::type result_t;
109     
>>>     CID 1019313:    (CHECKED_RETURN)
>>>     Calling "at_end" without checking return value (as is done elsewhere 8 out of 10 times).
110                 scan.at_end(); // allow skipper to take effect
111                 iterator_t save = scan.first;
112                 result_t hit = this->subject().parse(scan);
113                 if (hit)
114                 {
115                     typename result_t::return_t val = hit.value();
/usr/include/boost/spirit/home/classic/core/composite/actions.hpp: 110 in boost::spirit::classic::action<boost::spirit::classic::uint_parser<unsigned int, (int)10, (unsigned int)1, (int)-1>, boost::_bi::bind_t<void, boost::_mfi::mf1<void, <unnamed>::PDFGrammar<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>>, unsigned int>, boost::_bi::list2<boost::_bi::value<<unnamed>::PDFGrammar<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>> *>, boost::arg<(int)1>>>>::parse<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>, boost::spirit::classic::scanner_policies<boost::spirit::classic::no_skipper_iteration_policy<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy>>>(const T1 &) const()
104             typename parser_result<self_t, ScannerT>::type
105             parse(ScannerT const& scan) const
106             {
107                 typedef typename ScannerT::iterator_t iterator_t;
108                 typedef typename parser_result<self_t, ScannerT>::type result_t;
109     
>>>     CID 1019313:    (CHECKED_RETURN)
>>>     Calling "at_end" without checking return value (as is done elsewhere 8 out of 10 times).
110                 scan.at_end(); // allow skipper to take effect
111                 iterator_t save = scan.first;
112                 result_t hit = this->subject().parse(scan);
113                 if (hit)
114                 {
115                     typename result_t::return_t val = hit.value();
/usr/include/boost/spirit/home/classic/core/composite/actions.hpp: 110 in boost::spirit::classic::action<boost::spirit::classic::kleene_star<boost::spirit::classic::chset<char>>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, <unnamed>::PDFGrammar<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>>, boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>, boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>>, boost::_bi::list3<boost::_bi::value<<unnamed>::PDFGrammar<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>> *>, boost::arg<(int)1>, boost::arg<(int)2>>>>::parse<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>, boost::spirit::classic::scanner_policies<boost::spirit::classic::no_skipper_iteration_policy<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy>>>(const T1 &) const()
104             typename parser_result<self_t, ScannerT>::type
105             parse(ScannerT const& scan) const
106             {
107                 typedef typename ScannerT::iterator_t iterator_t;
108                 typedef typename parser_result<self_t, ScannerT>::type result_t;
109     
>>>     CID 1019313:    (CHECKED_RETURN)
>>>     Calling "at_end" without checking return value (as is done elsewhere 8 out of 10 times).
110                 scan.at_end(); // allow skipper to take effect
111                 iterator_t save = scan.first;
112                 result_t hit = this->subject().parse(scan);
113                 if (hit)
114                 {
115                     typename result_t::return_t val = hit.value();

** CID 716874:  Error handling issues  (CHECKED_RETURN)
/usr/include/boost/spirit/home/classic/core/scanner/scanner.hpp: 235 in boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>, boost::spirit::classic::scanner_policies<boost::spirit::classic::no_skipper_iteration_policy<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy>>::scanner(boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>> &, const boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>> &, const boost::spirit::classic::scanner_policies<boost::spirit::classic::no_skipper_iteration_policy<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> &)()


________________________________________________________________________________________________________
*** CID 716874:  Error handling issues  (CHECKED_RETURN)
/usr/include/boost/spirit/home/classic/core/scanner/scanner.hpp: 235 in boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>>, boost::spirit::classic::scanner_policies<boost::spirit::classic::no_skipper_iteration_policy<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy>>::scanner(boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>> &, const boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char>> &, const boost::spirit::classic::scanner_policies<boost::spirit::classic::no_skipper_iteration_policy<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> &)()
229             scanner(
230                 IteratorT&          first_,
231                 iter_param_t        last_,
232                 PoliciesT const&    policies = PoliciesT())
233             : PoliciesT(policies), first(first_), last(last_)
234             {
>>>     CID 716874:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "at_end" without checking return value (as is done elsewhere 8 out of 10 times).
235                 at_end();
236             }
237     
238             scanner(scanner const& other)
239             : PoliciesT(other), first(other.first), last(other.last) {}
240     


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u2389337.ct.sendgrid.net/ls/click?upn=nJaKvJSIH-2FPAfmty-2BK5tYpPklAc1eEA-2F1zfUjH6teExViPHTTReBArhCRZ3BE4kCjKjDqn2Dq3ZyEbAvAs31gRpU3vMPHDnoSx68vDAWjNU-3D506G_OTq2XUZbbipYjyLSo6GRo-2FpVxQ9OzkDINu9UTS-2FQhSdO0F0jQniitrGlNxDIzPJi7mzWt-2BJPzxoZcHZRXDqNi26-2BzoGfYm9Q5UY77Q367DeBnp-2B3EQgihCWofD2JAtCM2AUhtj-2Fxizu1AyCTXdi2SgktMMfqSlV-2FgJoO-2FUEPV-2FEN6dNfDO3tjfegxczq4lcIyHSyPP-2FaOqdb-2Fw43RKzmvr3C7bqc2Cx-2Fio0V7WwhojUWl8DBSZV0wAxvYNfoRyPl



More information about the LibreOffice mailing list