mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-14 02:27:39 -04:00
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
1 changed files with 8 additions and 8 deletions
|
@ -158,8 +158,6 @@ static off_t filesize(int fd) {
|
||||||
|
|
||||||
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",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue