applypatch: Add determine the return value of ApplyDiffPatch and

capture the error flow.

Construct ota package which is bsdiff exception scene ,then do
simulation test, native code can not capture exception scenes.

Test: recovery_component_test
Test: Apply an bsdiff exception scene ota package.
Change-Id: Icd9f6eac78739bd35c74b9fcaaf8154335d680a5
This commit is contained in:
Jinguang Dong
2017-04-26 10:40:45 +08:00
parent 7b1fffe095
commit 391bb7bb92
+4 -1
View File
@@ -100,7 +100,10 @@ int ApplyImagePatch(const unsigned char* old_data, size_t old_size, const Value*
printf("source data too short\n");
return -1;
}
ApplyBSDiffPatch(old_data + src_start, src_len, patch, patch_offset, sink, ctx);
if (ApplyBSDiffPatch(old_data + src_start, src_len, patch, patch_offset, sink, ctx) != 0) {
printf("Failed to apply bsdiff patch.\n");
return -1;
}
} else if (type == CHUNK_RAW) {
const char* raw_header = &patch->data[pos];
pos += 4;