backupsrc = SS_BackupSource(ua_dataSS->parti_info->ua_blk_name);
if (backupsrc != 0) {
LOGE("failed to Backup source File:[%s] \n", ua_dataSS->parti_info->ua_blk_name);
+ SS_Free(source_file.data);
SS_SetUpgradeState(E_SS_IMGSRCBACKUPFAILED);
return E_SS_FAILURE;
}
SS_CopyFile(NULL, SS_DD_SOURCE, SS_DD_TARGET);
if (tar_get_item_size(ua_dataSS->update_data->ua_delta_path, SS_KERNEL_UNPACK_SCRIPT) > 0)
- if (tar_extract_file(ua_dataSS->update_data->ua_delta_path, SS_KERNEL_UNPACK_SCRIPT, SS_KERN_UNPK_SCRIPT_PATH) >
- 0)
+ if (tar_extract_file(ua_dataSS->update_data->ua_delta_path, SS_KERNEL_UNPACK_SCRIPT, SS_KERN_UNPK_SCRIPT_PATH) > 0)
LOGL(LOG_SSENGINE, "Extracted %s successfully\n", SS_KERNEL_UNPACK_SCRIPT);
else {
LOGE("Error in fn tar_extract_file for item %s", SS_KERNEL_UNPACK_SCRIPT);
fp = fopen(source_filename, "w");
if (!fp) {
LOGE("file open error [%s] code [%d]\n", source_filename, errno);
- SS_Free(source_file.data);
result = E_SS_FAILURE;
goto Cleanup;
}
read_count = fwrite(source_file.data, 1, source_file.size, fp);
if (read_count != source_file.size) {
LOGE("file write error read_count = %d for [%s]\n", read_count, source_filename);
- SS_Free(source_file.data);
result = E_SS_FAILURE;
goto Cleanup;
}
result = E_SS_FAILURE;
goto Cleanup;
}
- snprintf(outname, strlen(source_filename) + 10, "%s.patch",
- source_filename);
+ snprintf(outname, strlen(source_filename) + 10, "%s.patch",
+ source_filename);
output = open(outname, O_WRONLY | O_CREAT | O_TRUNC, S_IRWXU);
if (output < 0) {
SS_PatchSourceClear();
SS_DeleteFile(NULL, SS_KERN_UNPK_SCRIPT_PATH);
SS_DeleteFolder(NULL, SS_KERNEL_WORKSPACE);
+ SS_Free(source_file.data);
SS_Free(buf);
SS_Free(outname);//wgid: 20740
if (result == S_SS_SUCCESS)