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 _______________________________________________ LibreOffice mailing list LibreOffice@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/libreoffice