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:
parent
2ed4bf8a43
commit
3831051c47
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue