diff options
author | James Buren <braewoods+rb@braewoods.net> | 2021-06-17 15:30:51 +0000 |
---|---|---|
committer | James Buren <braewoods+rb@braewoods.net> | 2021-06-17 15:30:51 +0000 |
commit | 3831051c478d18f19978529261761802f3c9eebc (patch) | |
tree | 118a66cc18705a27e6bcf7af5eb13f1dffd1c957 /utils/MTP | |
parent | 2ed4bf8a433e7c6ab4c8cefe982626963ec759e3 (diff) | |
download | rockbox-3831051c478d18f19978529261761802f3c9eebc.tar.gz rockbox-3831051c478d18f19978529261761802f3c9eebc.zip |
mknkboot: optimize verifyfirm
The checksum only needs to be calculated once. A small oversight on
my initial implementation.
Change-Id: Ie23faf36f5add7ed7f146769b604dbd8204c2605
Diffstat (limited to 'utils/MTP')
-rw-r--r-- | utils/MTP/beastpatcher/mknkboot.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/utils/MTP/beastpatcher/mknkboot.c b/utils/MTP/beastpatcher/mknkboot.c index 9efc5d7595..29de27217d 100644 --- a/utils/MTP/beastpatcher/mknkboot.c +++ b/utils/MTP/beastpatcher/mknkboot.c | |||
@@ -158,16 +158,16 @@ static off_t filesize(int fd) { | |||
158 | 158 | ||
159 | int verifyfirm(const struct filebuf* firmdata) | 159 | int verifyfirm(const struct filebuf* firmdata) |
160 | { | 160 | { |
161 | for(int i = 0; firmtable[i].version; i++) | 161 | md5_context ctx; |
162 | { | 162 | uint8_t sum[16]; |
163 | md5_context ctx; | ||
164 | uint8_t sum[16]; | ||
165 | 163 | ||
166 | md5_starts(&ctx); | 164 | md5_starts(&ctx); |
167 | md5_update(&ctx, firmdata->buf, firmdata->len); | 165 | md5_update(&ctx, firmdata->buf, firmdata->len); |
168 | md5_finish(&ctx, sum); | 166 | md5_finish(&ctx, sum); |
169 | 167 | ||
170 | if(memcmp(firmtable[i].sum, sum, 16) == 0) | 168 | for(int i = 0; firmtable[i].version; i++) |
169 | { | ||
170 | if(memcmp(firmtable[i].sum, sum, 16) == 0) | ||
171 | { | 171 | { |
172 | fprintf(stderr, "[INFO] Firmware file version %d.%d\n", | 172 | fprintf(stderr, "[INFO] Firmware file version %d.%d\n", |
173 | firmtable[i].version >> 8, firmtable[i].version & 0xff); | 173 | firmtable[i].version >> 8, firmtable[i].version & 0xff); |