diff --git a/src/libopensc/card-openpgp.c b/src/libopensc/card-openpgp.c index 442a8392..95f732d5 100644 --- a/src/libopensc/card-openpgp.c +++ b/src/libopensc/card-openpgp.c @@ -629,14 +629,11 @@ pgp_get_blob(sc_card_t *card, struct blob *blob, unsigned int id, return r; for (child = blob->files; child; child = child->next) { - if (child->id == id) - break; - } - - if (child != NULL) { - (void) pgp_read_blob(card, child); - *ret = child; - return SC_SUCCESS; + if (child->id == id) { + (void) pgp_read_blob(card, child); + *ret = child; + return SC_SUCCESS; + } } return SC_ERROR_FILE_NOT_FOUND;