Patchwork ccid-card-emul: do not crash if backend is not provided

login
register
mail settings
Submitter Marc-André Lureau
Date Nov. 21, 2012, 1:16 p.m.
Message ID <1353503768-2193-1-git-send-email-marcandre.lureau@redhat.com>
Download mbox | patch
Permalink /patch/200684/
State New
Headers show

Comments

Marc-André Lureau - Nov. 21, 2012, 1:16 p.m.
Program received signal SIGSEGV, Segmentation fault.
__strcmp_sse42 () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:164
164               movdqu        (%rsi), %xmm2
(gdb) bt
    at /home/elmarco/320g/src/qemu/hw/ccid-card-emulated.c:477
    at /home/elmarco/320g/src/qemu/hw/ccid-card-emulated.c:503
---
 hw/ccid-card-emulated.c | 3 +++
 1 file changed, 3 insertions(+)

Patch

diff --git a/hw/ccid-card-emulated.c b/hw/ccid-card-emulated.c
index f4a6da4..e82b72b 100644
--- a/hw/ccid-card-emulated.c
+++ b/hw/ccid-card-emulated.c
@@ -473,6 +473,9 @@  static uint32_t parse_enumeration(char *str,
 {
     uint32_t ret = not_found_value;
 
+    if (str == NULL)
+        return 0;
+
     while (table->name != NULL) {
         if (strcmp(table->name, str) == 0) {
             ret = table->value;