libopensc: check for unset max_recv/send_size in all places.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4721 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
parent
fc5b3e5417
commit
39311cb881
|
@ -447,7 +447,7 @@ int sc_read_binary(sc_card_t *card, unsigned int idx,
|
|||
int sc_write_binary(sc_card_t *card, unsigned int idx,
|
||||
const u8 *buf, size_t count, unsigned long flags)
|
||||
{
|
||||
size_t max_lc = card->max_send_size;
|
||||
size_t max_lc = card->max_send_size > 0 ? card->max_send_size : 255;
|
||||
int r;
|
||||
|
||||
assert(card != NULL && card->ops != NULL && buf != NULL);
|
||||
|
@ -489,7 +489,7 @@ int sc_write_binary(sc_card_t *card, unsigned int idx,
|
|||
int sc_update_binary(sc_card_t *card, unsigned int idx,
|
||||
const u8 *buf, size_t count, unsigned long flags)
|
||||
{
|
||||
size_t max_lc = card->max_send_size;
|
||||
size_t max_lc = card->max_send_size > 0 ? card->max_send_size : 255;
|
||||
int r;
|
||||
|
||||
assert(card != NULL && card->ops != NULL && buf != NULL);
|
||||
|
|
|
@ -119,7 +119,7 @@ static int iso7816_read_binary(sc_card_t *card,
|
|||
return SC_ERROR_OFFSET_TOO_LARGE;
|
||||
}
|
||||
|
||||
assert(count <= card->max_recv_size);
|
||||
assert(count <= (card->max_recv_size > 0 ? card->max_recv_size : 256));
|
||||
sc_format_apdu(card, &apdu, SC_APDU_CASE_2_SHORT, 0xB0,
|
||||
(idx >> 8) & 0x7F, idx & 0xFF);
|
||||
apdu.le = count;
|
||||
|
@ -247,7 +247,7 @@ static int iso7816_write_binary(sc_card_t *card,
|
|||
sc_apdu_t apdu;
|
||||
int r;
|
||||
|
||||
assert(count <= card->max_send_size);
|
||||
assert(count <= (card->max_send_size > 0 ? card->max_send_size : 255));
|
||||
|
||||
if (idx > 0x7fff) {
|
||||
sc_debug(card->ctx, SC_LOG_DEBUG_NORMAL, "invalid EF offset: 0x%X > 0x7FFF", idx);
|
||||
|
@ -274,7 +274,7 @@ static int iso7816_update_binary(sc_card_t *card,
|
|||
sc_apdu_t apdu;
|
||||
int r;
|
||||
|
||||
assert(count <= card->max_send_size);
|
||||
assert(count <= (card->max_send_size > 0 ? card->max_send_size : 255));
|
||||
|
||||
if (idx > 0x7fff) {
|
||||
sc_debug(card->ctx, SC_LOG_DEBUG_NORMAL, "invalid EF offset: 0x%X > 0x7FFF", idx);
|
||||
|
|
|
@ -32,8 +32,8 @@
|
|||
#define MSC_MAX_PIN_COMMAND_LENGTH ((1 + MSC_MAX_PIN_LENGTH) * 2)
|
||||
|
||||
/* Currently max size handled by muscle driver is 255 ... */
|
||||
#define MSC_MAX_READ (MIN(card->reader->driver->max_recv_size,255))
|
||||
#define MSC_MAX_SEND (MIN(card->reader->driver->max_send_size,255))
|
||||
#define MSC_MAX_READ (card->max_recv_size > 0 ? card->max_recv_size : 255)
|
||||
#define MSC_MAX_SEND (card->max_send_size > 0 ? card->max_send_size : 255)
|
||||
|
||||
int msc_list_objects(sc_card_t* card, u8 next, mscfs_file_t* file);
|
||||
int msc_partial_read_object(sc_card_t *card, msc_id objectId, int offset, u8 *data, size_t dataLength);
|
||||
|
|
Loading…
Reference in New Issue