diff --git a/src/hsm/cmd_key_domain.c b/src/hsm/cmd_key_domain.c index a632ac8..d548452 100644 --- a/src/hsm/cmd_key_domain.c +++ b/src/hsm/cmd_key_domain.c @@ -103,14 +103,14 @@ int cmd_key_domain() { uint8_t t[MAX_KEY_DOMAINS * 2]; memcpy(t, kdata, tf_kd_size); if (p1 == 0x1) { - if (t[2 * p2] != 0xff && t[2 * p2 + 1] != 0xff) { + if (t[2 * p2] != 0xff || t[2 * p2 + 1] != 0xff) { return SW_INCORRECT_P1P2(); } t[2 * p2] = dkeks = apdu.data[0]; t[2 * p2 + 1] = current_dkeks = 0; } else if (p1 == 0x3) { - if (t[2 * p2] == 0xff || t[2 * p2 + 1] == 0xff) { + if (t[2 * p2] == 0xff && t[2 * p2 + 1] == 0xff) { return SW_INCORRECT_P1P2(); } t[2 * p2] = dkeks = 0xff;