Fix a memory leak.
This was caught by clang's static analyzer. Warning:
frameworks/base/media/mca/filterfw/native/core/shader_program.cpp:1031:3:
warning: Potential leak of memory pointed to by 'attrib.owned_data'
return StoreAttribute(attrib);
Bug: None.
Test: The static analyzer no longer complains.
Change-Id: Ibef0368dfa48ba57e38019a5a3e33d5bacd847a2
diff --git a/media/mca/filterfw/native/core/shader_program.cpp b/media/mca/filterfw/native/core/shader_program.cpp
index 1e573fb..d460512 100644
--- a/media/mca/filterfw/native/core/shader_program.cpp
+++ b/media/mca/filterfw/native/core/shader_program.cpp
@@ -1028,7 +1028,11 @@
attrib.values = data_cpy;
attrib.owned_data = data_cpy; // Marks this for deletion later on
- return StoreAttribute(attrib);
+ if (StoreAttribute(attrib))
+ return true;
+ // If storing this failed, then it won't be deleted on its own.
+ delete[] data_cpy;
+ return false;
}
bool ShaderProgram::StoreAttribute(VertexAttrib attrib) {