From: Antoni Adaszkiewicz Date: Wed, 7 Dec 2022 12:37:38 +0000 (+0100) Subject: upgrade-apply-deltafs: Fail update if decompression fails X-Git-Tag: accepted/tizen/unified/20221220.041635^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=392504ebbaf2377d5546075d71bdad92609c5883;p=platform%2Fcore%2Fsystem%2Fupgrade.git upgrade-apply-deltafs: Fail update if decompression fails Prevoiusly, if "system.7z" file (new files archive) decompression failed, update would still continue. Change-Id: I5caf02a3170be84048a26e33301a3a0dffddcb9d --- diff --git a/src/upgrade-apply-deltafs/engine/SS_UPI.c b/src/upgrade-apply-deltafs/engine/SS_UPI.c index 6507a41..ba6747f 100755 --- a/src/upgrade-apply-deltafs/engine/SS_UPI.c +++ b/src/upgrade-apply-deltafs/engine/SS_UPI.c @@ -1290,13 +1290,18 @@ int SS_FSUpdateFile(int ubFileType, ua_dataSS_t * ua_dataSS, int ulPatchCount, f if (ua_dataSS->tar_data->new_files_info.offset >= 0) { if (tar_extract_7z_file(ua_dataSS->tar_data) < 0) { LOGE("newfiles extraction error!\n"); + SS_SetUpgradeState(E_SS_FSUPDATEFAILED); ulResult = E_SS_FAILURE; - break; } - if (_7zdecompress(ua_dataSS->tar_data->new_files_info.extracted_name) == 0) + + if (_7zdecompress(ua_dataSS->tar_data->new_files_info.extracted_name) == 0) { LOGL(LOG_SSENGINE, "7zip extracted successfully %s\n", ua_dataSS->parti_info->ua_parti_name); - else + } else { LOGL(LOG_SSENGINE, "7zip extraction error for %s\n", ua_dataSS->parti_info->ua_parti_name); + SS_SetUpgradeState(E_SS_FSUPDATEFAILED); + ulResult = E_SS_FAILURE; + } + SS_DeleteFile(ua_dataSS->tar_data->new_files_info.extracted_name); } else { LOGL(LOG_SSENGINE, "No %s in %s, because there are no new files\n", SS_COMPRESSED_FILE, ua_dataSS->parti_info->ua_parti_name);