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:
martin 2010-09-15 11:09:28 +00:00
parent fc5b3e5417
commit 39311cb881
3 changed files with 7 additions and 7 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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);