New Defects reported by Coverity Scan for LibreOffice

scan-admin at coverity.com scan-admin at coverity.com
Sun Feb 9 07:35:59 UTC 2020


Hi,

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

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


** CID 1458168:    (FORWARD_NULL)


________________________________________________________________________________________________________
*** CID 1458168:    (FORWARD_NULL)
/vcl/unx/generic/gdi/gdiimpl.cxx: 1749 in X11SalGraphicsImpl::drawPolyLine(const basegfx::B2DHomMatrix &, const basegfx::B2DPolygon &, double, const basegfx::B2DVector &, const std::vector<double, std::allocator<double>> *, basegfx::B2DLineJoin, com::sun::star::drawing::LineCap, double, bool)()
1743             // MM01 need to do line dashing as fallback stuff here now
1744             basegfx::B2DPolyPolygon aPolyPolygonLine;
1745     
1746             if(bStrokeUsed)
1747             {
1748                 // apply LineStyle
>>>     CID 1458168:    (FORWARD_NULL)
>>>     Passing null pointer "pStroke" to "applyLineDashing", which dereferences it.
1749                 basegfx::utils::applyLineDashing(
1750                     rPolygon, // source
1751                     *pStroke, // pattern
1752                     &aPolyPolygonLine, // target for lines
1753                     nullptr, // target for gaps
1754                     fDotDashLength); // full length if available
/vcl/unx/generic/gdi/gdiimpl.cxx: 1699 in X11SalGraphicsImpl::drawPolyLine(const basegfx::B2DHomMatrix &, const basegfx::B2DPolygon &, double, const basegfx::B2DVector &, const std::vector<double, std::allocator<double>> *, basegfx::B2DLineJoin, com::sun::star::drawing::LineCap, double, bool)()
1693         {
1694             // MM01 - check on stroke change. Used against not used, or if oth used,
1695             // equal or different? Triangulation geometry creation depends heavily
1696             // on stroke, independent of being transformation independent
1697             const bool bStrokeWasUsed(!pSystemDependentData_Triangulation->getStroke().empty());
1698     
>>>     CID 1458168:    (FORWARD_NULL)
>>>     Passing null pointer "pStroke" to "operator !=", which dereferences it.
1699             if(bStrokeWasUsed != bStrokeUsed
1700             || (bStrokeUsed && *pStroke != pSystemDependentData_Triangulation->getStroke()))
1701             {
1702                 // data invalid, forget
1703                 pSystemDependentData_Triangulation.reset();
1704             }

** CID 1458167:    (FORWARD_NULL)


________________________________________________________________________________________________________
*** CID 1458167:    (FORWARD_NULL)
/vcl/headless/svpgdi.cxx: 1381 in SvpSalGraphics::drawPolyLine(_cairo *, basegfx::B2DRange *, const Color &, bool, const basegfx::B2DHomMatrix &, const basegfx::B2DPolygon &, double, const basegfx::B2DVector &, const std::vector<double, std::allocator<double>> *, basegfx::B2DLineJoin, com::sun::star::drawing::LineCap, double, bool)()
1375             // MM01 need to do line dashing as fallback stuff here now
1376             basegfx::B2DPolyPolygon aPolyPolygonLine;
1377     
1378             if(!bDoDirectCairoStroke && bStrokeUsed)
1379             {
1380                 // apply LineStyle
>>>     CID 1458167:    (FORWARD_NULL)
>>>     Passing null pointer "pStroke" to "applyLineDashing", which dereferences it.
1381                 basegfx::utils::applyLineDashing(
1382                     rPolyLine, // source
1383                     *pStroke, // pattern
1384                     &aPolyPolygonLine, // target for lines
1385                     nullptr, // target for gaps
1386                     fDotDashLength); // full length if available
/vcl/headless/svpgdi.cxx: 1340 in SvpSalGraphics::drawPolyLine(_cairo *, basegfx::B2DRange *, const Color &, bool, const basegfx::B2DHomMatrix &, const basegfx::B2DPolygon &, double, const basegfx::B2DVector &, const std::vector<double, std::allocator<double>> *, basegfx::B2DLineJoin, com::sun::star::drawing::LineCap, double, bool)()
1334         if(!bDoDirectCairoStroke && pSystemDependentData_CairoPath)
1335         {
1336             // MM01 - check on stroke change. Used against not used, or if both used,
1337             // equal or different?
1338             const bool bStrokeWasUsed(!pSystemDependentData_CairoPath->getStroke().empty());
1339     
>>>     CID 1458167:    (FORWARD_NULL)
>>>     Passing null pointer "pStroke" to "operator !=", which dereferences it.
1340             if(bStrokeWasUsed != bStrokeUsed
1341             || (bStrokeUsed && *pStroke != pSystemDependentData_CairoPath->getStroke()))
1342             {
1343                 // data invalid, forget
1344                 pSystemDependentData_CairoPath.reset();
1345             }
/vcl/headless/svpgdi.cxx: 1331 in SvpSalGraphics::drawPolyLine(_cairo *, basegfx::B2DRange *, const Color &, bool, const basegfx::B2DHomMatrix &, const basegfx::B2DPolygon &, double, const basegfx::B2DVector &, const std::vector<double, std::allocator<double>> *, basegfx::B2DLineJoin, com::sun::star::drawing::LineCap, double, bool)()
1325         // MM01 decide if to stroke directly
1326         static bool bDoDirectCairoStroke(true);
1327     
1328         // MM01 activate to stroke directly
1329         if(bDoDirectCairoStroke && bStrokeUsed)
1330         {
>>>     CID 1458167:    (FORWARD_NULL)
>>>     Passing null pointer "pStroke" to "data", which dereferences it.
1331             cairo_set_dash(cr, pStroke->data(), pStroke->size(), 0.0);
1332         }
1333     
1334         if(!bDoDirectCairoStroke && pSystemDependentData_CairoPath)
1335         {
1336             // MM01 - check on stroke change. Used against not used, or if both used,

** CID 1458166:  Null pointer dereferences  (FORWARD_NULL)


________________________________________________________________________________________________________
*** CID 1458166:  Null pointer dereferences  (FORWARD_NULL)
/vcl/opengl/gdiimpl.cxx: 1664 in OpenGLSalGraphicsImpl::drawPolyLine(const basegfx::B2DHomMatrix &, const basegfx::B2DPolygon &, double, const basegfx::B2DVector &, const std::vector<double, std::allocator<double>> *, basegfx::B2DLineJoin, com::sun::star::drawing::LineCap, double, bool)()
1658         const bool bStrokeUsed(0.0 != fDotDashLength);
1659         basegfx::B2DPolyPolygon aPolyPolygonLine;
1660     
1661         if(bStrokeUsed)
1662         {
1663             // apply LineStyle
>>>     CID 1458166:  Null pointer dereferences  (FORWARD_NULL)
>>>     Passing null pointer "pStroke" to "applyLineDashing", which dereferences it.
1664             basegfx::utils::applyLineDashing(
1665                 rPolygon, // source
1666                 *pStroke, // pattern
1667                 &aPolyPolygonLine, // target for lines
1668                 nullptr, // target for gaps
1669                 fDotDashLength); // full length if available


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u2389337.ct.sendgrid.net/ls/click?upn=nJaKvJSIH-2FPAfmty-2BK5tYpPklAc1eEA-2F1zfUjH6teExViPHTTReBArhCRZ3BE4kCjKjDqn2Dq3ZyEbAvAs31gRpU3vMPHDnoSx68vDAWjNU-3DAQ5T_OTq2XUZbbipYjyLSo6GRo-2FpVxQ9OzkDINu9UTS-2FQhSdO0F0jQniitrGlNxDIzPJiN8VugIhwRKLym8J-2FLQOgZZnyRix-2B4YBsnauNQV37c8VAMQxVNoLXoCAt7TxdxQF0-2F0EF36v-2FVQrH0SUWKhuxSZzcy-2BBrd3avT8wt2yagWiUX0yH7HvcELM16jRs8zuFOigZiMq4LyMuWLzvYRi0bqGQgSmxO4abGPPl8IszJUxpMf6P-2B1gLnOJFrQ1GYSNm-2B



More information about the LibreOffice mailing list