New Defects reported by Coverity Scan for LibreOffice
scan-admin at coverity.com
scan-admin at coverity.com
Fri Apr 29 15:30:05 UTC 2016
Hi,
Please find the latest report on new defect(s) introduced to LibreOffice found with Coverity Scan.
8 new defect(s) introduced to LibreOffice found with Coverity Scan.
10 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 8 of 8 defect(s)
** CID 1358844: Uninitialized members (UNINIT_CTOR)
/opencl/inc/opencl_device_selection.h: 329 in <unnamed>::XmlWalker::XmlWalker()()
________________________________________________________________________________________________________
*** CID 1358844: Uninitialized members (UNINIT_CTOR)
/opencl/inc/opencl_device_selection.h: 329 in <unnamed>::XmlWalker::XmlWalker()()
323 xmlNodePtr mpCurrent;
324
325 std::vector<xmlNodePtr> mpStack;
326
327 public:
328 XmlWalker()
>>> CID 1358844: Uninitialized members (UNINIT_CTOR)
>>> Non-static class member "mpCurrent" is not initialized in this constructor nor in any functions that it calls.
329 {}
330
331 ~XmlWalker()
332 {
333 xmlFreeDoc(mpDocPtr);
334 }
** CID 1358843: Error handling issues (NEGATIVE_RETURNS)
/opencl/source/opencl_device.cxx: 438 in opencl::<unnamed>::pickBestDevice(std::unique_ptr<ds_profile, std::default_delete<ds_profile>> &, int &)()
________________________________________________________________________________________________________
*** CID 1358843: Error handling issues (NEGATIVE_RETURNS)
/opencl/source/opencl_device.cxx: 438 in opencl::<unnamed>::pickBestDevice(std::unique_ptr<ds_profile, std::default_delete<ds_profile>> &, int &)()
432 if (fScore < bestScore)
433 {
434 bestScore = fScore;
435 rBestDeviceIndex = d;
436 }
437 }
>>> CID 1358843: Error handling issues (NEGATIVE_RETURNS)
>>> "rBestDeviceIndex" is passed to a parameter that cannot be negative. [Note: The source code implementation of the function has been overridden by a builtin model.]
438 if (profile->devices[rBestDeviceIndex].eType == DeviceType::OpenCLDevice)
439 {
440 SAL_INFO("opencl.device", "Selected Device[" << rBestDeviceIndex << "]: " << profile->devices[rBestDeviceIndex].sDeviceName << "(OpenCL).");
441 }
442 else
443 {
** CID 1358842: Control flow issues (MISSING_BREAK)
/sc/source/core/tool/interpr8.cxx: 1839 in ScInterpreter::ScTextJoin_MS()()
________________________________________________________________________________________________________
*** CID 1358842: Control flow issues (MISSING_BREAK)
/sc/source/core/tool/interpr8.cxx: 1839 in ScInterpreter::ScTextJoin_MS()()
1833 }
1834 }
1835 }
1836 }
1837 }
1838 }
>>> CID 1358842: Control flow issues (MISSING_BREAK)
>>> The above case falls through to this one.
1839 case svMissing :
1840 {
1841 if ( !bSkipEmpty )
1842 {
1843 if ( !bFirst )
1844 {
** CID 1358840: Null pointer dereferences (FORWARD_NULL)
/sd/qa/unit/misc-tests.cxx: 166 in SdMiscTest::testTdf99396()()
________________________________________________________________________________________________________
*** CID 1358840: Null pointer dereferences (FORWARD_NULL)
/sd/qa/unit/misc-tests.cxx: 166 in SdMiscTest::testTdf99396()()
160 // Make sure that the undo stack is empty.
161 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), xDocSh->GetDoc()->GetUndoManager()->GetUndoActionCount());
162
163 // Set the vertical alignment of the cells to bottom.
164 sdr::table::SvxTableController* pTableController = dynamic_cast<sdr::table::SvxTableController*>(pView->getSelectionController().get());
165 SfxRequest aRequest(pViewShell->GetViewFrame(), SID_TABLE_VERT_BOTTOM);
>>> CID 1358840: Null pointer dereferences (FORWARD_NULL)
>>> Passing null pointer "pTableController" to "Execute", which dereferences it. (The dereference happens because this is a virtual function call.)
166 pTableController->Execute(aRequest);
167 // This was 0, it wasn't possible to undo a vertical alignment change.
168 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), xDocSh->GetDoc()->GetUndoManager()->GetUndoActionCount());
169
170 xDocSh->DoClose();
171 }
** CID 1358839: Null pointer dereferences (FORWARD_NULL)
/sd/qa/unit/misc-tests.cxx: 203 in SdMiscTest::testTdf99396TextEdit()()
________________________________________________________________________________________________________
*** CID 1358839: Null pointer dereferences (FORWARD_NULL)
/sd/qa/unit/misc-tests.cxx: 203 in SdMiscTest::testTdf99396TextEdit()()
197 const SfxItemSet* pArgs = aRequest.GetArgs();
198 pView->SetAttributes(*pArgs);
199 }
200 {
201 auto pTableController = dynamic_cast<sdr::table::SvxTableController*>(pView->getSelectionController().get());
202 SfxRequest aRequest(pViewShell->GetViewFrame(), SID_TABLE_VERT_BOTTOM);
>>> CID 1358839: Null pointer dereferences (FORWARD_NULL)
>>> Passing null pointer "pTableController" to "Execute", which dereferences it. (The dereference happens because this is a virtual function call.)
203 pTableController->Execute(aRequest);
204 }
205 pView->SdrEndTextEdit();
206
207 // Check that the result is what we expect.
208 {
** CID 1358838: Null pointer dereferences (FORWARD_NULL)
/sd/qa/unit/misc-tests.cxx: 180 in SdMiscTest::testTdf99396TextEdit()()
________________________________________________________________________________________________________
*** CID 1358838: Null pointer dereferences (FORWARD_NULL)
/sd/qa/unit/misc-tests.cxx: 180 in SdMiscTest::testTdf99396TextEdit()()
174 {
175 // Load the document and select the table.
176 sd::DrawDocShellRef xDocSh = Load(m_directories.getURLFromSrc("/sd/qa/unit/data/tdf99396.odp"), ODP);
177 sd::ViewShell* pViewShell = xDocSh->GetViewShell();
178 SdPage* pPage = pViewShell->GetActualPage();
179 SdrObject* pObject = pPage->GetObj(0);
>>> CID 1358838: Null pointer dereferences (FORWARD_NULL)
>>> Assigning: "pTableObject" = "dynamic_cast <sdr::table::SdrTableObj *>(pObject)".
180 auto pTableObject = dynamic_cast<sdr::table::SdrTableObj*>(pObject);
181 SdrView* pView = pViewShell->GetView();
182 pView->MarkObj(pObject, pView->GetSdrPageView());
183
184 // Make sure that the undo stack is empty.
185 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), xDocSh->GetDoc()->GetUndoManager()->GetUndoActionCount());
** CID 1358837: Control flow issues (DEADCODE)
/sd/source/ui/unoidl/unopage.cxx: 1481 in SdGenericDrawPage::CreateShape(SdrObject *) const()
________________________________________________________________________________________________________
*** CID 1358837: Control flow issues (DEADCODE)
/sd/source/ui/unoidl/unopage.cxx: 1481 in SdGenericDrawPage::CreateShape(SdrObject *) const()
1475 aShapeType += "SlideNumberShape";
1476 break;
1477 case PRESOBJ_DATETIME:
1478 aShapeType += "DateTimeShape";
1479 break;
1480 // coverity[dead_error_begin] - following conditions exist to avoid compiler warning
>>> CID 1358837: Control flow issues (DEADCODE)
>>> Execution cannot reach this statement: "case PRESOBJ_NONE:".
1481 case PRESOBJ_NONE:
1482 case PRESOBJ_IMAGE:
1483 case PRESOBJ_MAX:
1484 break;
1485 }
1486
** CID 1358836: Resource leaks (CTOR_DTOR_LEAK)
/vcl/opengl/PackedTextureAtlas.cxx: 117 in PackedTexture::PackedTexture(int, int)()
________________________________________________________________________________________________________
*** CID 1358836: Resource leaks (CTOR_DTOR_LEAK)
/vcl/opengl/PackedTextureAtlas.cxx: 117 in PackedTexture::PackedTexture(int, int)()
111 {
112 ImplOpenGLTexture* mpTexture;
113 std::unique_ptr<Node> mpRootNode;
114 int mnDeallocatedArea;
115
116 PackedTexture(int nWidth, int nHeight)
>>> CID 1358836: Resource leaks (CTOR_DTOR_LEAK)
>>> The constructor allocates field "mpTexture" of "PackedTexture" but there is no destructor.
117 : mpTexture(new ImplOpenGLTexture(nWidth, nHeight, true))
118 , mpRootNode(new Node(nWidth, nHeight))
119 , mnDeallocatedArea(0)
120 {}
121 };
122
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://scan.coverity.com/projects/libreoffice?tab=overview
To manage Coverity Scan email notifications for "libreoffice at lists.freedesktop.org", click https://scan.coverity.com/subscriptions/edit?email=libreoffice%40lists.freedesktop.org&token=d6481d718a775246b2340f282ebe5939
More information about the LibreOffice
mailing list