diff options
Diffstat (limited to 'utils/nwztools/upgtools/keysig_search.c')
-rw-r--r-- | utils/nwztools/upgtools/keysig_search.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/utils/nwztools/upgtools/keysig_search.c b/utils/nwztools/upgtools/keysig_search.c index 2f234d6358..c16dae5260 100644 --- a/utils/nwztools/upgtools/keysig_search.c +++ b/utils/nwztools/upgtools/keysig_search.c @@ -218,11 +218,10 @@ typedef bool (*sig_validate_fn_t)(uint8_t *key); static bool check_key(uint8_t key[NWZ_KEY_SIZE], sig_validate_fn_t validate) { struct upg_header_t hdr; - mg_decrypt_fw(g_keysig_search.enc_buf, sizeof(hdr.sig), (void *)&hdr, key); + mg_decrypt_fw(g_keysig_search.enc_buf, sizeof(hdr), (void *)&hdr, key); if(validate(hdr.sig)) { - /* the signature looks correct, so decrypt the header futher to be sure */ - mg_decrypt_fw(g_keysig_search.enc_buf, sizeof(hdr), (void *)&hdr, key); + /* the signature looks correct, so check the header to be sure */ /* we expect the number of files to be small and the padding to be 0 */ if(hdr.nr_files == 0 || hdr.nr_files > 10 || hdr.pad != 0) return false; |