Fixed 3 Coverity issues.
CID 11697: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _type is not initialized in this constructor nor in any functions that it calls. CID 11698: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _type is not initialized in this constructor nor in any functions that it calls. CID 12329: Resource leak (RESOURCE_LEAK) Calling allocation function "osg::Object::clone(osg::CopyOp const &) const". (The virtual call resolves to "osg::Object * GDALPlugin::DataSetLayer::clone(osg::CopyOp const &) const".) [show details] Failing to save storage allocated by "this->getVertexArray()->clone(struct osg::CopyOp const(128U))" leaks it.
This commit is contained in:
parent
da058c0ffa
commit
3357cc0717
@ -1286,7 +1286,8 @@ class AttributeFunctorArrayVisitor : public ArrayVisitor
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
AttributeFunctorArrayVisitor(Drawable::AttributeFunctor& af):
|
AttributeFunctorArrayVisitor(Drawable::AttributeFunctor& af):
|
||||||
_af(af) {}
|
_af(af),
|
||||||
|
_type(0) {}
|
||||||
|
|
||||||
virtual ~AttributeFunctorArrayVisitor() {}
|
virtual ~AttributeFunctorArrayVisitor() {}
|
||||||
|
|
||||||
@ -1358,7 +1359,8 @@ class ConstAttributeFunctorArrayVisitor : public ConstArrayVisitor
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
ConstAttributeFunctorArrayVisitor(Drawable::ConstAttributeFunctor& af):
|
ConstAttributeFunctorArrayVisitor(Drawable::ConstAttributeFunctor& af):
|
||||||
_af(af) {}
|
_af(af),
|
||||||
|
_type(0) {}
|
||||||
|
|
||||||
virtual ~ConstAttributeFunctorArrayVisitor() {}
|
virtual ~ConstAttributeFunctorArrayVisitor() {}
|
||||||
|
|
||||||
@ -2456,7 +2458,7 @@ void Geometry::duplicateSharedArrays()
|
|||||||
#define DUPLICATE_IF_REQUIRED(A) \
|
#define DUPLICATE_IF_REQUIRED(A) \
|
||||||
if (get##A() && get##A()->referenceCount()>1) \
|
if (get##A() && get##A()->referenceCount()>1) \
|
||||||
{ \
|
{ \
|
||||||
set##A(dynamic_cast<osg::Array*>(get##A()->clone(osg::CopyOp::DEEP_COPY_ARRAYS))); \
|
set##A(osg::clone(get##A(), osg::CopyOp::DEEP_COPY_ARRAYS)); \
|
||||||
}
|
}
|
||||||
|
|
||||||
DUPLICATE_IF_REQUIRED(VertexArray)
|
DUPLICATE_IF_REQUIRED(VertexArray)
|
||||||
@ -2469,7 +2471,7 @@ void Geometry::duplicateSharedArrays()
|
|||||||
{
|
{
|
||||||
if (getTexCoordArray(ti) && getTexCoordArray(ti)->referenceCount()>1)
|
if (getTexCoordArray(ti) && getTexCoordArray(ti)->referenceCount()>1)
|
||||||
{
|
{
|
||||||
setTexCoordArray(ti, dynamic_cast<osg::Array*>(getTexCoordArray(ti)->clone(osg::CopyOp::DEEP_COPY_ARRAYS)));
|
setTexCoordArray(ti, osg::clone(getTexCoordArray(ti),osg::CopyOp::DEEP_COPY_ARRAYS));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2478,7 +2480,7 @@ void Geometry::duplicateSharedArrays()
|
|||||||
ArrayData& arrayData = _vertexAttribList[vi];
|
ArrayData& arrayData = _vertexAttribList[vi];
|
||||||
if (arrayData.array.valid() && arrayData.array->referenceCount()>1)
|
if (arrayData.array.valid() && arrayData.array->referenceCount()>1)
|
||||||
{
|
{
|
||||||
arrayData.array = dynamic_cast<osg::Array*>(arrayData.array->clone(osg::CopyOp::DEEP_COPY_ARRAYS));
|
arrayData.array = osg::clone(arrayData.array.get(), osg::CopyOp::DEEP_COPY_ARRAYS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user