[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 15/23] libcacard/vreader: Drop broken recovery from f
From: |
Michael Tokarev |
Subject: |
[Qemu-devel] [PULL 15/23] libcacard/vreader: Drop broken recovery from failed assertion |
Date: |
Mon, 26 May 2014 11:20:03 +0400 |
From: Markus Armbruster <address@hidden>
We suppress some code when we got unexpected status and assertion
checking is off:
assert(card_status == VCARD_DONE);
if (card_status == VCARD_DONE) {
int size = MIN(*receive_buf_len, response->b_total_len);
memcpy(receive_buf, response->b_data, size);
*receive_buf_len = size;
}
Such "recovery" is of dubious value even when it works. This one
doesn't: it fails to assign to receive_buf[] and *receive_buf_len,
which the callers expect.
Make the code unconditional.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Alon Levy <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
---
libcacard/vreader.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/libcacard/vreader.c b/libcacard/vreader.c
index 9304a28..93b01c8 100644
--- a/libcacard/vreader.c
+++ b/libcacard/vreader.c
@@ -284,11 +284,9 @@ vreader_xfr_bytes(VReader *reader,
}
}
assert(card_status == VCARD_DONE);
- if (card_status == VCARD_DONE) {
- int size = MIN(*receive_buf_len, response->b_total_len);
- memcpy(receive_buf, response->b_data, size);
- *receive_buf_len = size;
- }
+ int size = MIN(*receive_buf_len, response->b_total_len);
+ memcpy(receive_buf, response->b_data, size);
+ *receive_buf_len = size;
vcard_response_delete(response);
vcard_apdu_delete(apdu);
vcard_free(card); /* free our reference */
--
1.7.10.4
- [Qemu-devel] [PULL 01/23] libcacard: g_malloc cleanups, (continued)
- [Qemu-devel] [PULL 01/23] libcacard: g_malloc cleanups, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 07/23] jazz_led: Add missing break in switch case, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 08/23] pci: move dereferencing of root only after verifying valid root pointer, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 10/23] dma-helpers: avoid calling dma_bdrv_unmap() twice, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 13/23] libcacard/vscclient: Bury some dead code, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 21/23] bsd-user: replace fprintf(stderr, ...) with error_report(), Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 20/23] audio: replace fprintf(stderr, ...) with error_report() in audio, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 19/23] libcacard: fix wrong array expansion logic, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 14/23] libcacard: Plug memory leaks around vreader_get_reader_list(), Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 09/23] arch_init: replace fprintf(stderr, ...) with error_report(), Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 15/23] libcacard/vreader: Drop broken recovery from failed assertion,
Michael Tokarev <=
- [Qemu-devel] [PULL 16/23] libcacard/vreader: Tighten assertion to clarify intent, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 23/23] libcacard: remove useless initializers, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 06/23] bswap.h: Rename ldl_p, stl_p, etc to ldl_he_p, stl_he_p, etc, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 17/23] libcacard: Convert two leftover realloc() to GLib, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 12/23] vl: fix 'name' option to work with -readconfig, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 22/23] net: cadence_gem: Fix top comment, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 03/23] nbd: Close socket on negotiation failure., Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 18/23] libcacard/vcard_emul_nss: Drop a redundant conditional, Michael Tokarev, 2014/05/26
- [Qemu-devel] [PULL 11/23] configure: Put tempfiles in a subdir of the build directory, Michael Tokarev, 2014/05/26
- Re: [Qemu-devel] [PULL 00/23] Trivial patches for 2014-05-26, Peter Maydell, 2014/05/27