From f4cc1fed3600b9589267722682419e342382f250 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Thu, 2 Jun 2022 19:30:09 +0200 Subject: [PATCH] Fix meta parsing. Signed-off-by: Pol Henarejos --- src/hsm/sc_hsm.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/hsm/sc_hsm.c b/src/hsm/sc_hsm.c index cfeb7fb..11563c5 100644 --- a/src/hsm/sc_hsm.c +++ b/src/hsm/sc_hsm.c @@ -927,8 +927,13 @@ int find_and_store_meta_key(uint8_t key_id) { size_t lt[4] = { 0,0,0,0 }, meta_size = 0; uint8_t *pt[4] = { NULL,NULL,NULL,NULL }; for (int t = 0; t < 4; t++) { - if (asn1_find_tag(apdu.data, apdu.nc, 0x90+t, <[t], &pt[t]) && pt[t] != NULL && lt[t] > 0) + uint8_t *ptt = NULL; + size_t ltt = 0; + if (asn1_find_tag(apdu.data, apdu.nc, 0x90+t, <t, &ptt) && ptt != NULL && ltt > 0) { + lt[t] = ltt; + pt[t] = ptt; meta_size += asn1_len_tag(0x90+t, lt[t]); + } } if (meta_size) { uint8_t *meta = (uint8_t *)calloc(1, meta_size), *m = meta;