Don't call free on MallocPtr not from Malloc
Change-Id: I9af8b3cd4cc98e4238c08bf5e20be615c9c72ff0
diff --git a/driver/rsdAllocation.cpp b/driver/rsdAllocation.cpp
index 2f9aa6d..f502f32 100644
--- a/driver/rsdAllocation.cpp
+++ b/driver/rsdAllocation.cpp
@@ -478,8 +478,9 @@
if (alloc->mHal.drvState.lod[0].mallocPtr) {
// don't free user-allocated ptrs or IO_OUTPUT buffers
if (!(drv->useUserProvidedPtr) &&
+ !(alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_IO_INPUT) &&
!(alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_IO_OUTPUT)) {
- free(alloc->mHal.drvState.lod[0].mallocPtr);
+ free(alloc->mHal.drvState.lod[0].mallocPtr);
}
alloc->mHal.drvState.lod[0].mallocPtr = NULL;
}