diff --git a/acdb/src/acdb_delta_file_mgr.c b/acdb/src/acdb_delta_file_mgr.c index 22ff52f..6f4ebd8 100644 --- a/acdb/src/acdb_delta_file_mgr.c +++ b/acdb/src/acdb_delta_file_mgr.c @@ -327,8 +327,12 @@ int32_t AcdbDeltaDataCmdSave(void) fhandle = &db_info->file_handle; - /* Close and delete old delta file */ - ar_fclose(*fhandle); + //Close and delete old delta file + if (*fhandle != NULL) + { + ar_fclose(*fhandle); + *fhandle = NULL; + } status = ar_fdelete(db_info->delta_file_path.path); if (AR_FAILED(status)) @@ -403,7 +407,6 @@ int32_t AcdbDeltaDataCmdSave(void) end: AcdbListClear(p_map_list); p_map_list = NULL; - return status; } int32_t AcdbDeltaInitHeap(acdb_context_handle_t *handle) @@ -554,11 +557,15 @@ int32_t AcdbDeltaDeleteFile(uint32_t database_index) &file_name_info, sizeof(file_name_info)); //Close and delete old delta file - status = ar_fclose(*fhandle); - if (AR_EOK != status) + if (*fhandle != NULL) { - ACDB_ERR("Error[%d]: Failed to close delta file", status); - return status; + status = ar_fclose(*fhandle); + *fhandle = NULL; + if (AR_EOK != status) + { + ACDB_ERR("Error[%d]: Failed to close delta file", status); + return status; + } } status = AcdbInitUtilDeleteDeltaFileData( @@ -600,12 +607,16 @@ int32_t AcdbDeltaDataSwapDelta(AcdbDeltaDataSwapInfo *swap_info) db_info = ACDB_DFM_DB_INFO_AT_INDEX(swap_info->file_index); /* Close the previous delta file and open/create the new file */ - status = ar_fclose(db_info->file_handle); - if (AR_FAILED(status)) + if (db_info->file_handle != NULL) { - ACDB_ERR("Error[%d]: Failed to close %s ", status, - db_info->delta_file_path.path); - return status; + status = ar_fclose(db_info->file_handle); + db_info->file_handle = NULL; + if (AR_FAILED(status)) + { + ACDB_ERR("Error[%d]: Failed to close %s ", status, + db_info->delta_file_path.path); + return status; + } } status = acdb_file_man_ioctl(ACDB_FILE_MAN_GET_FILE_NAME,