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