diff --git a/src/main/java/com/sparrowwallet/sparrow/control/CardImportPane.java b/src/main/java/com/sparrowwallet/sparrow/control/CardImportPane.java index 7cfa4f83..b441bc08 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/CardImportPane.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/CardImportPane.java @@ -112,6 +112,11 @@ public class CardImportPane extends TitledDescriptionPane { setError("Card Error", e.getMessage()); importButton.setDisable(false); return; + } catch(Exception e) { + log.error("Error reading card", e); + setError("Card Error", e.getMessage() == null ? e.getClass().getSimpleName() : e.getMessage()); + importButton.setDisable(false); + return; } CardImportService cardImportService = new CardImportService(importer, policyType, pin.get(), derivation, messageProperty); diff --git a/src/main/java/com/sparrowwallet/sparrow/io/Hwi.java b/src/main/java/com/sparrowwallet/sparrow/io/Hwi.java index 9c3165b2..2e6a5b8b 100644 --- a/src/main/java/com/sparrowwallet/sparrow/io/Hwi.java +++ b/src/main/java/com/sparrowwallet/sparrow/io/Hwi.java @@ -98,6 +98,9 @@ public class Hwi { //ignore } catch(CardException e) { log.info("Error reading card", e); + } catch(Exception e) { + //a card is free to return any bytes it likes, so a malformed response can surface as any runtime exception + log.error("Error reading card", e); } }