qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC PATCH] libcacard: Fix bug detected with 'smatch'


From: Thomas Huth
Subject: [Qemu-devel] [RFC PATCH] libcacard: Fix bug detected with 'smatch'
Date: Thu, 19 Mar 2015 15:53:50 +0100

'smatch' complains about two bugs and one style issue in card_7816.c:

libcacard/card_7816.c:273 vcard_apdu_set_length() warn: should this be a 
bitwise op?
libcacard/card_7816.c:295 vcard_apdu_set_length() warn: should this be a 
bitwise op?
libcacard/card_7816.c:661 vcard7816_vm_process_apdu() warn: inconsistent 
indenting

... and indeed, the code seems to be wrong here. Let's fix this
by using a bitwise OR instead of logical OR and by indenting
the code with the right level.

Signed-off-by: Thomas Huth <address@hidden>
---
Please note that this is compile-tested only. I don't have a clue
about that libcacard stuff, so if you feel confident in this area,
please have a look whether this change really makes sense.
---
 libcacard/card_7816.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libcacard/card_7816.c b/libcacard/card_7816.c
index 814fa16..0f7a006 100644
--- a/libcacard/card_7816.c
+++ b/libcacard/card_7816.c
@@ -270,7 +270,7 @@ vcard_apdu_set_length(VCardAPDU *apdu)
             }
             /* calculate the first extended value. Could be either Le or Lc */
             Le = (apdu->a_header->ah_body[0] << 8)
-               || apdu->a_header->ah_body[1];
+                | apdu->a_header->ah_body[1];
             if (L == 3) {
                 /* 2E extended, return data only */
                 /*   zero maps to 65536 */
@@ -292,7 +292,7 @@ vcard_apdu_set_length(VCardAPDU *apdu)
             if (L == Le+5) {
                 /* 4E extended, parameters and return data */
                 Le = (apdu->a_data[apdu->a_len-2] << 8)
-                   || apdu->a_data[apdu->a_len-1];
+                    | apdu->a_data[apdu->a_len-1];
                 apdu->a_Le = Le ? Le : 65536;
                 return VCARD7816_STATUS_SUCCESS;
             }
@@ -657,7 +657,7 @@ vcard7816_vm_process_apdu(VCard *card, VCardAPDU *apdu,
                     }
                 }
             } else {
-                    status = vcard_emul_login(card, apdu->a_body, apdu->a_Lc);
+                status = vcard_emul_login(card, apdu->a_body, apdu->a_Lc);
                 *response = vcard_make_response(status);
             }
         }
-- 
1.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]