static int camera_device_close(hw_device_t *device) { int ret = 0; wrapper_camera_device_t *wrapper_dev = NULL; ALOGV("%s", __FUNCTION__); android::Mutex::Autolock lock(gCameraWrapperLock); if (!device) { ret = -EINVAL; goto done; } for (int i = 0; i < camera_get_number_of_cameras(); i++) { if (fixed_set_params[i]) free(fixed_set_params[i]); } wrapper_dev = (wrapper_camera_device_t*) device; wrapper_dev->vendor->common.close((hw_device_t*)wrapper_dev->vendor); if (wrapper_dev->base.ops) free(wrapper_dev->base.ops); free(wrapper_dev); done: #ifdef HEAPTRACKER heaptracker_free_leaked_memory(); #endif return ret; }
void malloc_debug_finalize(void) { heaptracker_free_leaked_memory(); deinit_mapinfo(milist); }