Fix cbor processing when unknown command is used.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
@@ -45,8 +45,9 @@ size_t cbor_len = 0;
|
|||||||
uint8_t cmd = 0;
|
uint8_t cmd = 0;
|
||||||
|
|
||||||
int cbor_parse(uint8_t cmd, const uint8_t *data, size_t len) {
|
int cbor_parse(uint8_t cmd, const uint8_t *data, size_t len) {
|
||||||
if (len == 0)
|
if (len == 0 && cmd == CTAPHID_CBOR)
|
||||||
return CTAP1_ERR_INVALID_LEN;
|
return CTAP1_ERR_INVALID_LEN;
|
||||||
|
if (len > 0)
|
||||||
DEBUG_DATA(data+1,len-1);
|
DEBUG_DATA(data+1,len-1);
|
||||||
driver_prepare_response_hid();
|
driver_prepare_response_hid();
|
||||||
if (cmd == CTAPHID_CBOR) {
|
if (cmd == CTAPHID_CBOR) {
|
||||||
@@ -74,7 +75,7 @@ int cbor_parse(uint8_t cmd, const uint8_t *data, size_t len) {
|
|||||||
else if (cmd == CTAP_VENDOR_CBOR) {
|
else if (cmd == CTAP_VENDOR_CBOR) {
|
||||||
return cbor_vendor(data, len);
|
return cbor_vendor(data, len);
|
||||||
}
|
}
|
||||||
return CTAP2_ERR_INVALID_CBOR;
|
return CTAP1_ERR_INVALID_CMD;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef ENABLE_EMULATION
|
#ifndef ENABLE_EMULATION
|
||||||
|
|||||||
Reference in New Issue
Block a user