Skip to content

Commit d048fef

Browse files
committed
pteid: Avoid global buffer underflow
https://issues.oss-fuzz.com/issues/452150051 Signed-off-by: Jakub Jelen <jjelen@redhat.com>
1 parent 5240190 commit d048fef

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

src/libopensc/pkcs15-pteid.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,13 @@ static int sc_pkcs15emu_pteid_init(sc_pkcs15_card_t * p15card)
256256
struct sc_pin_cmd_data pin_cmd_data;
257257
struct sc_pkcs15_auth_info *pin_info = (sc_pkcs15_auth_info_t *) p15_obj->data;
258258

259+
if (pin_info->auth_id.value[0] < 1 || pin_info->auth_id.value[0] > 3) {
260+
sc_log(ctx, "Invalid auth_id for PIN: Value %d out of range. Skipping.",
261+
pin_info->auth_id.value[0]);
262+
p15_obj = p15_obj->next;
263+
continue;
264+
}
265+
259266
strlcpy(p15_obj->label, pteid_pin_names[pin_info->auth_id.value[0]-1], sizeof(p15_obj->label));
260267

261268
pin_info->attrs.pin.flags |= SC_PKCS15_PIN_FLAG_NEEDS_PADDING;

0 commit comments

Comments
 (0)