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
1 changed files with 8 additions and 8 deletions

View File

@ -158,16 +158,16 @@ static off_t filesize(int fd) {
int verifyfirm(const struct filebuf* firmdata)
{
md5_context ctx;
uint8_t sum[16];
md5_starts(&ctx);
md5_update(&ctx, firmdata->buf, firmdata->len);
md5_finish(&ctx, sum);
for(int i = 0; firmtable[i].version; i++)
{
md5_context ctx;
uint8_t sum[16];
md5_starts(&ctx);
md5_update(&ctx, firmdata->buf, firmdata->len);
md5_finish(&ctx, sum);
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",
firmtable[i].version >> 8, firmtable[i].version & 0xff);