diff options
author | Randall Spangler <rspangler@chromium.org> | 2016-09-02 12:21:55 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-09-06 22:02:16 -0700 |
commit | 0efc4f3ee111d28cf22060a22ad591427dc7eb7f (patch) | |
tree | 57d1af3c399effad787e63ac8bdbbdcf4b780a1d /futility/file_type_rwsig.c | |
parent | 470b24816681dc1781e1b280980d9448d2c1af96 (diff) | |
download | vboot-0efc4f3ee111d28cf22060a22ad591427dc7eb7f.tar.gz |
futility: Fix lookup of invalid algorithm names
If given a malformed file with an invalid algorithm, futility could
dereference null when looking up the algorithm names.
BUG=chromium:643769
BRANCH=none
TEST=make runtests
Change-Id: I26d1312b8bf2eec8d806664708676daa9f36fa58
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/380522
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Diffstat (limited to 'futility/file_type_rwsig.c')
-rw-r--r-- | futility/file_type_rwsig.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/futility/file_type_rwsig.c b/futility/file_type_rwsig.c index c2d7fbf6..40669a6b 100644 --- a/futility/file_type_rwsig.c +++ b/futility/file_type_rwsig.c @@ -42,16 +42,13 @@ static inline void vb2_print_bytes(const void *ptr, uint32_t len) static void show_sig(const char *name, const struct vb21_signature *sig) { - const struct vb2_text_vs_enum *entry; printf("Signature: %s\n", name); printf(" Vboot API: 2.1\n"); printf(" Desc: \"%s\"\n", vb21_common_desc(sig)); - entry = vb2_lookup_by_num(vb2_text_vs_sig, sig->sig_alg); printf(" Signature Algorithm: %d %s\n", sig->sig_alg, - entry ? entry->name : "(invalid)"); - entry = vb2_lookup_by_num(vb2_text_vs_hash, sig->hash_alg); + vb2_get_sig_algorithm_name(sig->sig_alg)); printf(" Hash Algorithm: %d %s\n", sig->hash_alg, - entry ? entry->name : "(invalid)"); + vb2_get_hash_algorithm_name(sig->hash_alg)); printf(" Total size: 0x%x (%d)\n", sig->c.total_size, sig->c.total_size); printf(" ID: "); |