Fix checking key domain set.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
@@ -103,14 +103,14 @@ int cmd_key_domain() {
|
|||||||
uint8_t t[MAX_KEY_DOMAINS * 2];
|
uint8_t t[MAX_KEY_DOMAINS * 2];
|
||||||
memcpy(t, kdata, tf_kd_size);
|
memcpy(t, kdata, tf_kd_size);
|
||||||
if (p1 == 0x1) {
|
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();
|
return SW_INCORRECT_P1P2();
|
||||||
}
|
}
|
||||||
t[2 * p2] = dkeks = apdu.data[0];
|
t[2 * p2] = dkeks = apdu.data[0];
|
||||||
t[2 * p2 + 1] = current_dkeks = 0;
|
t[2 * p2 + 1] = current_dkeks = 0;
|
||||||
}
|
}
|
||||||
else if (p1 == 0x3) {
|
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();
|
return SW_INCORRECT_P1P2();
|
||||||
}
|
}
|
||||||
t[2 * p2] = dkeks = 0xff;
|
t[2 * p2] = dkeks = 0xff;
|
||||||
|
|||||||
Reference in New Issue
Block a user