From 5572d1607bf145c59b830b24e152e030094646bc Mon Sep 17 00:00:00 2001 From: George Burgess IV Date: Tue, 13 Dec 2016 15:32:00 -0800 Subject: [PATCH] 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 --- media/mca/filterfw/native/core/shader_program.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/media/mca/filterfw/native/core/shader_program.cpp b/media/mca/filterfw/native/core/shader_program.cpp index 1e573fbf84a26..d46051292c388 100644 --- a/media/mca/filterfw/native/core/shader_program.cpp +++ b/media/mca/filterfw/native/core/shader_program.cpp @@ -1028,7 +1028,11 @@ bool ShaderProgram::SetAttributeValues(ProgramVar var, 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) {