From b8b3035500eb2311aab366aaa3e5069ee422e8e3 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Fri, 27 Apr 2018 20:10:25 +0200 Subject: tss: Warn about unsupported SE,ChipID value and prevent passing NULL key to plist_dict_get_item() --- src/tss.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/tss.c b/src/tss.c index 3499662..940cd72 100644 --- a/src/tss.c +++ b/src/tss.c @@ -734,6 +734,8 @@ int tss_request_add_se_tags(plist_t request, plist_t parameters, plist_t overrid } else if (chip_id == 0x73) { development_key = "DevelopmentUpdatePayloadHash"; production_key = "ProductionUpdatePayloadHash"; + } else { + error("WARNING: Unsupported SE,ChipID 0x%lx. Restore will likely fail.\n", (unsigned long)chip_id); } const char *key_to_remove = development_key; /* 'IsDev' determines whether we have Production or Development */ @@ -772,7 +774,7 @@ int tss_request_add_se_tags(plist_t request, plist_t parameters, plist_t overrid plist_dict_remove_item(tss_entry, "Info"); /* remove Development or Production key/hash node */ - if (plist_dict_get_item(tss_entry, key_to_remove)) { + if (key_to_remove && plist_dict_get_item(tss_entry, key_to_remove)) { plist_dict_remove_item(tss_entry, key_to_remove); } -- cgit v1.1-32-gdbae