New Defects reported by Coverity Scan for LibreOffice

scan-admin at coverity.com scan-admin at coverity.com
Sat Jan 23 07:14:14 UTC 2021


Hi,

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

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


** CID 1472266:    (INVALIDATE_ITERATOR)
/oox/source/drawingml/fillproperties.cxx: 501 in oox::drawingml::FillProperties::pushToPropMap(oox::drawingml::ShapePropertyMap &, const oox::GraphicHelper &, int, Color, bool, bool, bool) const()
/oox/source/drawingml/fillproperties.cxx: 601 in oox::drawingml::FillProperties::pushToPropMap(oox::drawingml::ShapePropertyMap &, const oox::GraphicHelper &, int, Color, bool, bool, bool) const()
/oox/source/drawingml/fillproperties.cxx: 415 in oox::drawingml::FillProperties::pushToPropMap(oox::drawingml::ShapePropertyMap &, const oox::GraphicHelper &, int, Color, bool, bool, bool) const()
/oox/source/drawingml/fillproperties.cxx: 494 in oox::drawingml::FillProperties::pushToPropMap(oox::drawingml::ShapePropertyMap &, const oox::GraphicHelper &, int, Color, bool, bool, bool) const()
/oox/source/drawingml/fillproperties.cxx: 595 in oox::drawingml::FillProperties::pushToPropMap(oox::drawingml::ShapePropertyMap &, const oox::GraphicHelper &, int, Color, bool, bool, bool) const()


________________________________________________________________________________________________________
*** CID 1472266:    (INVALIDATE_ITERATOR)
/oox/source/drawingml/fillproperties.cxx: 501 in oox::drawingml::FillProperties::pushToPropMap(oox::drawingml::ShapePropertyMap &, const oox::GraphicHelper &, int, Color, bool, bool, bool) const()
495                                  aGradientStops.size() == 3 &&
496                                  std::next(aGradientStops.begin())->second.getColor(rGraphicHelper, nPhClr) == std::prev(aGradientStops.end())->second.getColor(rGraphicHelper, nPhClr) &&
497                                  std::next(aGradientStops.begin())->second.getTransparency() == std::prev(aGradientStops.end())->second.getTransparency())
498                         {
499                             // Two segments, second is uniformly coloured
500                             SAL_INFO("oox.drawingml.gradient", "two segments, second is uniformly coloured");
>>>     CID 1472266:    (INVALIDATE_ITERATOR)
>>>     Dereferencing iterator "std::prev(aGradientStops.end(), 1L)" though it is already past the end of its container.
501                             nBorder = std::prev(aGradientStops.end())->first - std::next(aGradientStops.begin())->first;
502                             aGradientStops.erase(std::next(aGradientStops.begin()));
503                             aWidestSegmentStart = aGradientStops.begin();
504                             bSwap = true;
505                             nShapeRotation = 180*60000 - nShapeRotation;
506                         }
/oox/source/drawingml/fillproperties.cxx: 601 in oox::drawingml::FillProperties::pushToPropMap(oox::drawingml::ShapePropertyMap &, const oox::GraphicHelper &, int, Color, bool, bool, bool) const()
595                             aStartColor = aWidestSegmentEnd->second;
596                             aEndColor = aWidestSegmentStart->second;
597                         }
598                         else
599                         {
600                             aStartColor = aWidestSegmentStart->second;
>>>     CID 1472266:    (INVALIDATE_ITERATOR)
>>>     Dereferencing iterator "aWidestSegmentEnd" though it is already past the end of its container.
601                             aEndColor = aWidestSegmentEnd->second;
602                         }
603     
604                         SAL_INFO("oox.drawingml.gradient", "start color: " << std::hex << sal_Int32(aStartColor.getColor( rGraphicHelper, nPhClr )) << std::dec <<
605                                  "@" << (100-aStartColor.getTransparency()) << "%"
606                                  ", end color: " << std::hex << sal_Int32(aEndColor.getColor( rGraphicHelper, nPhClr )) << std::dec <<
/oox/source/drawingml/fillproperties.cxx: 415 in oox::drawingml::FillProperties::pushToPropMap(oox::drawingml::ShapePropertyMap &, const oox::GraphicHelper &, int, Color, bool, bool, bool) const()
409     
410                         // Check if the gradient is symmetric, which we will emulate with an "axial" gradient.
411                         bool bSymmetric(true);
412                         {
413                             GradientFillProperties::GradientStopMap::const_iterator aItA( aGradientStops.begin() );
414                             GradientFillProperties::GradientStopMap::const_iterator aItZ(std::prev(aGradientStops.end()));
>>>     CID 1472266:    (INVALIDATE_ITERATOR)
>>>     Dereferencing iterator "aItZ" though it is already past the end of its container.
415                             while( bSymmetric && aItA->first < aItZ->first )
416                             {
417                                 if (!aItA->second.equals(aItZ->second, rGraphicHelper, nPhClr))
418                                     bSymmetric = false;
419                                 else
420                                 {
/oox/source/drawingml/fillproperties.cxx: 494 in oox::drawingml::FillProperties::pushToPropMap(oox::drawingml::ShapePropertyMap &, const oox::GraphicHelper &, int, Color, bool, bool, bool) const()
488                             // Two segments, first is uniformly coloured
489                             SAL_INFO("oox.drawingml.gradient", "two segments, first is uniformly coloured");
490                             nBorder = std::next(aGradientStops.begin())->first - aGradientStops.begin()->first;
491                             aGradientStops.erase(aGradientStops.begin());
492                             aWidestSegmentStart = aGradientStops.begin();
493                         }
>>>     CID 1472266:    (INVALIDATE_ITERATOR)
>>>     Dereferencing iterator "std::prev(aGradientStops.end(), 1L)" though it is already past the end of its container.
494                         else if( !bSymmetric &&
495                                  aGradientStops.size() == 3 &&
496                                  std::next(aGradientStops.begin())->second.getColor(rGraphicHelper, nPhClr) == std::prev(aGradientStops.end())->second.getColor(rGraphicHelper, nPhClr) &&
497                                  std::next(aGradientStops.begin())->second.getTransparency() == std::prev(aGradientStops.end())->second.getTransparency())
498                         {
499                             // Two segments, second is uniformly coloured
/oox/source/drawingml/fillproperties.cxx: 595 in oox::drawingml::FillProperties::pushToPropMap(oox::drawingml::ShapePropertyMap &, const oox::GraphicHelper &, int, Color, bool, bool, bool) const()
589                             aStartColor = aWidestSegmentEnd->second;
590                             aEndColor = aWidestSegmentStart->second;
591                             nBorder *= 2;
592                         }
593                         else if( bSwap )
594                         {
>>>     CID 1472266:    (INVALIDATE_ITERATOR)
>>>     Dereferencing iterator "aWidestSegmentEnd" though it is already past the end of its container.
595                             aStartColor = aWidestSegmentEnd->second;
596                             aEndColor = aWidestSegmentStart->second;
597                         }
598                         else
599                         {
600                             aStartColor = aWidestSegmentStart->second;


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50ypSs1kiFPuCn2xFdlMIFBirii0zZ9j2-2F9F2XPBcBm2BNgi9duPy3v-2FzgFDd2LJ-2BDKI-3DNunx_OTq2XUZbbipYjyLSo6GRo-2FpVxQ9OzkDINu9UTS-2FQhSdO0F0jQniitrGlNxDIzPJiFEvVt79YmTSoL3kqxoP8lypcvpotfwe-2BYQ6T8hn6FX4EyoQEbPcFzuwVreXOoQJHV-2BHEUbhPPBzIYuSDYd-2B2biTBeZazZyL0faar-2BYXkRzAhv-2BZEfQQGJPD7rcQod6LT2dTiO22nPMDX7x4HSdPMh4W-2Bo-2Fhj9hNK5Rg7kbB0WCxlR7YDs3ey2Ie3Y-2FhiM0oY



More information about the LibreOffice mailing list