summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/fwpatcher/main.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/tools/fwpatcher/main.c b/tools/fwpatcher/main.c
index c8fa11ea95..b86d2f1d51 100644
--- a/tools/fwpatcher/main.c
+++ b/tools/fwpatcher/main.c
@@ -224,22 +224,25 @@ int PatchFirmware()
224 goto error; 224 goto error;
225 } 225 }
226 /* now md5sum it */ 226 /* now md5sum it */
227 if (!FileMD5(name3, md5sum_str)) goto error; 227 if (!FileMD5(name3, md5sum_str)) {
228 MessageBox(NULL, TEXT("Error in checksumming"),
229 TEXT("Error"), MB_ICONERROR);
230 goto error;
231 }
228 for (i = 0; i < sizeof(checksums)/sizeof(char *); ++i) { 232 for (i = 0; i < sizeof(checksums)/sizeof(char *); ++i) {
229 if (strncmp(checksums[i], md5sum_str, 32) != 0) { 233 if (strncmp(checksums[i], md5sum_str, 32) == 0) {
230 MessageBox(NULL, 234 /* all is fine, rename the patched file to original name of the firmware */
231 TEXT("Checksum doesn't match known good patched firmware.\n") 235 MoveFileEx(name3, fn, MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING);
232 TEXT("Download another firmware image, then try again."), 236 /* delete temp files */
233 TEXT("Error"), MB_ICONERROR); 237 DeleteFile(name1);
234 goto error; 238 DeleteFile(name2);
239 return 1;
235 } 240 }
236 } 241 }
237 /* all is fine, rename the patched file to original name of the firmware */ 242 MessageBox(NULL,
238 MoveFileEx(name3, fn, MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING); 243 TEXT("Checksum doesn't match known good patched firmware.\n")
239 /* delete temp files */ 244 TEXT("Download another firmware image, then try again."),
240 DeleteFile(name1); 245 TEXT("Error"), MB_ICONERROR);
241 DeleteFile(name2);
242 return 1;
243error: 246error:
244 /* delete all temp files, don't care if some aren't created yet */ 247 /* delete all temp files, don't care if some aren't created yet */
245 DeleteFile(name1); 248 DeleteFile(name1);