Skip to content

Commit 53a1d5b

Browse files
committed
better fix, thanks @iceman
1 parent f863a5e commit 53a1d5b

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

client/src/cmdhfseos.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -999,8 +999,8 @@ static int seos_pacs_adf_select(char *oid, int oid_len, uint8_t *get_data, int g
999999
snprintf(selectedOID, sizeof(selectedOID), "%s", oid);
10001000

10011001
uint16_t selectedOIDLen = strlen(selectedOID);
1002-
char selectedOIDLenHex[5];
1003-
snprintf(selectedOIDLenHex, sizeof(selectedOIDLenHex), "%02X", (selectedOIDLen) / 2);
1002+
char selectedOIDLenHex[3];
1003+
snprintf(selectedOIDLenHex, sizeof(selectedOIDLenHex), "%02X", (selectedOIDLen >> 1) & 0xFF);
10041004

10051005
char selectedADF[strlen(ADFprefix) + strlen(selectedOIDLenHex) + selectedOIDLen + 1];
10061006
snprintf(selectedADF, sizeof(selectedADF), "%s%s%s", ADFprefix, selectedOIDLenHex, selectedOID);
@@ -1113,8 +1113,8 @@ static int seos_adf_select(char *oid, int oid_len, int key_index) {
11131113
char selectedOID[100];
11141114
snprintf(selectedOID, sizeof(selectedOID), "%s", oid);
11151115
uint16_t selectedOIDLen = strlen(selectedOID);
1116-
char selectedOIDLenHex[5];
1117-
snprintf(selectedOIDLenHex, sizeof(selectedOIDLenHex), "%02X", (selectedOIDLen) / 2);
1116+
char selectedOIDLenHex[3];
1117+
snprintf(selectedOIDLenHex, sizeof(selectedOIDLenHex), "%02X", (selectedOIDLen >> 1) & 0xFF);
11181118

11191119
char selectedADF[strlen(ADFprefix) + strlen(selectedOIDLenHex) + selectedOIDLen + 1];
11201120
snprintf(selectedADF, sizeof(selectedADF), "%s%s%s", ADFprefix, selectedOIDLenHex, selectedOID);

0 commit comments

Comments
 (0)