diff --git a/src/main/java/im/status/keycard/KeycardApplet.java b/src/main/java/im/status/keycard/KeycardApplet.java index cf8ab1d..798e403 100644 --- a/src/main/java/im/status/keycard/KeycardApplet.java +++ b/src/main/java/im/status/keycard/KeycardApplet.java @@ -1022,6 +1022,7 @@ private short logicrShift(short v, short amount) { private void clearKeys() { keyPathLen = 0; pinlessPathLen = 0; + tmpPathLen = 0; isExtended = false; masterPrivate.clearKey(); masterPublic.clearKey(); @@ -1030,6 +1031,8 @@ private void clearKeys() { Util.arrayFillNonAtomic(altChainCode, (short) 0, (short) altChainCode.length, (byte) 0); Util.arrayFillNonAtomic(keyPath, (short) 0, (short) keyPath.length, (byte) 0); Util.arrayFillNonAtomic(pinlessPath, (short) 0, (short) pinlessPath.length, (byte) 0); + Util.arrayFillNonAtomic(tmpPath, (short) 0, (short) tmpPath.length, (byte) 0); + Util.arrayFillNonAtomic(derivationOutput, (short) 0, (short) derivationOutput.length, (byte) 0); Util.arrayFillNonAtomic(keyUID, (short) 0, (short) keyUID.length, (byte) 0); } @@ -1059,6 +1062,7 @@ private void factoryReset(APDU apdu) { clearKeys(); pin = null; + mainPIN = null; altPIN = null; puk = null; secureChannel = null;