get_malloc_leak_info: Fix assumption that totalMemory out parameter was initialized to zero.
The get_malloc_leak_info() currently asssumes that the totalMemory out parameter was pre-initialized to zero before the routine is called. If it is not then the accumulated totalMemory value will be incorrect. It is likely that many callers will simply allocate totalMemory on the stack with no initialization and assume that get_malloc_leak_info will set the proper value. As an example, the caller in frameworks/base/core/jni/android_os_Debug.cpp calls get_malloc_leak_info() with the address uninitiazed stack variable for totalMemory. It is probably best to fix this in get_malloc_leak_info. Change-Id: I84c927c3781419585794726115b7d34d8fdd24ae
This commit is contained in:
parent
abdb3695b2
commit
9d8be5485c
1 changed files with 1 additions and 1 deletions
|
@ -120,6 +120,7 @@ void get_malloc_leak_info(uint8_t** info, size_t* overallSize,
|
|||
totalMemory == NULL || backtraceSize == NULL) {
|
||||
return;
|
||||
}
|
||||
*totalMemory = 0;
|
||||
|
||||
pthread_mutex_lock(&gAllocationsMutex);
|
||||
|
||||
|
@ -127,7 +128,6 @@ void get_malloc_leak_info(uint8_t** info, size_t* overallSize,
|
|||
*info = NULL;
|
||||
*overallSize = 0;
|
||||
*infoSize = 0;
|
||||
*totalMemory = 0;
|
||||
*backtraceSize = 0;
|
||||
goto done;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue