1
0
Fork 0
forked from len0rd/rockbox

mknkboot: optimize verifyfirm

The checksum only needs to be calculated once. A small oversight on
my initial implementation.

Change-Id: Ie23faf36f5add7ed7f146769b604dbd8204c2605
This commit is contained in:
James Buren 2021-06-17 15:30:51 +00:00
parent 2ed4bf8a43
commit 3831051c47

View file

@ -157,8 +157,6 @@ static off_t filesize(int fd) {
#endif #endif
int verifyfirm(const struct filebuf* firmdata) int verifyfirm(const struct filebuf* firmdata)
{
for(int i = 0; firmtable[i].version; i++)
{ {
md5_context ctx; md5_context ctx;
uint8_t sum[16]; uint8_t sum[16];
@ -167,6 +165,8 @@ int verifyfirm(const struct filebuf* firmdata)
md5_update(&ctx, firmdata->buf, firmdata->len); md5_update(&ctx, firmdata->buf, firmdata->len);
md5_finish(&ctx, sum); md5_finish(&ctx, sum);
for(int i = 0; firmtable[i].version; i++)
{
if(memcmp(firmtable[i].sum, sum, 16) == 0) if(memcmp(firmtable[i].sum, sum, 16) == 0)
{ {
fprintf(stderr, "[INFO] Firmware file version %d.%d\n", fprintf(stderr, "[INFO] Firmware file version %d.%d\n",