From 2c68c0662cbeb2fbea5a3bda481dcb6c85116d17 Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Thu, 14 Nov 2019 10:53:01 +0100 Subject: [PATCH] coolkey: Avoid success from init if there are no reasonable data raturned Thanks to oss-fuzz https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18918 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18915 --- src/libopensc/card-coolkey.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libopensc/card-coolkey.c b/src/libopensc/card-coolkey.c index 07652fc2..12afbc4b 100644 --- a/src/libopensc/card-coolkey.c +++ b/src/libopensc/card-coolkey.c @@ -2215,6 +2215,10 @@ static int coolkey_initialize(sc_card_t *card) r = coolkey_list_object(card, COOLKEY_LIST_NEXT, &object_info); } if (r != SC_ERROR_FILE_END_REACHED) { + /* This means the card does not cooperate at all: bail out */ + if (r >= 0) { + r = SC_ERROR_INVALID_CARD; + } goto cleanup; } /* if we didn't pull the cuid from the combined object, then grab it now */