From eb281b1ada44e2debf28e2e51cb3388d08d3b91c Mon Sep 17 00:00:00 2001 From: Frank Morgner Date: Fri, 7 Jun 2013 15:28:38 +0200 Subject: [PATCH] reader-pcsc.c: fixed pin checking when implicitly given --- src/libopensc/reader-pcsc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libopensc/reader-pcsc.c b/src/libopensc/reader-pcsc.c index f2eb59a5..a8bf5748 100644 --- a/src/libopensc/reader-pcsc.c +++ b/src/libopensc/reader-pcsc.c @@ -1462,7 +1462,8 @@ static int part10_build_modify_pin_block(struct sc_reader *reader, u8 * buf, siz pin_modify->bInsertionOffsetNew = 0x00; } - if (!data->pin1.min_length || !data->pin1.max_length) + if (!(data->flags & SC_PIN_CMD_IMPLICIT_CHANGE) + && (!data->pin1.min_length || !data->pin1.max_length)) return SC_ERROR_INVALID_ARGUMENTS; tmp16 = (data->pin1.min_length << 8 ) + data->pin1.max_length;