diff --git a/services/core/jni/com_android_server_PersistentDataBlockService.cpp b/services/core/jni/com_android_server_PersistentDataBlockService.cpp index 06de592d75335..f94e5d9d438c9 100644 --- a/services/core/jni/com_android_server_PersistentDataBlockService.cpp +++ b/services/core/jni/com_android_server_PersistentDataBlockService.cpp @@ -84,7 +84,11 @@ namespace android { if (fd < 0) return 0; - return get_block_device_size(fd); + const uint64_t size = get_block_device_size(fd); + + close(fd); + + return size; } static int com_android_server_PersistentDataBlockService_wipe(JNIEnv *env, jclass, jstring jpath) { @@ -94,7 +98,11 @@ namespace android { if (fd < 0) return 0; - return wipe_block_device(fd); + const int ret = wipe_block_device(fd); + + close(fd); + + return ret; } static const JNINativeMethod sMethods[] = {