[Pcsclite-git-commit] [CCID] 01/01: OpenUSBByName(): fix possible use of uninitialized variable

Ludovic Rousseau rousseau at moszumanska.debian.org
Wed Jan 6 09:40:05 UTC 2016


This is an automated email from the git hooks/post-receive script.

rousseau pushed a commit to branch master
in repository CCID.

commit 208b60e48ba38433e3fd36faaf6694daf068f3b3
Author: Ludovic Rousseau <ludovic.rousseau at free.fr>
Date:   Wed Jan 6 10:33:10 2016 +0100

    OpenUSBByName(): fix possible use of uninitialized variable
    
    The change in bc6124cb44677540fa5d5267e7af759796d6101c was not complete.
    Now that the call to GET_KEYS() occurs _before_ libusb_get_device_list()
    we should not try to call libusb_free_device_list() if GET_KEYS() fails.
    
    ccid_usb.c:326:2: warning: variable 'devs' is used uninitialized whenever 'if'
          condition is true [-Wsometimes-uninitialized]
            GET_KEYS("ifdVendorID", &ifdVendorID)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ccid_usb.c:319:6: note: expanded from macro 'GET_KEYS'
            if (rv) \
                ^~
    ccid_usb.c:739:26: note: uninitialized use occurs here
            libusb_free_device_list(devs, 1);
                                    ^~~~
    ccid_usb.c:326:2: note: remove the 'if' if its condition is always false
            GET_KEYS("ifdVendorID", &ifdVendorID)
            ^
    ccid_usb.c:319:2: note: expanded from macro 'GET_KEYS'
            if (rv) \
            ^
    ccid_usb.c:227:22: note: initialize the variable 'devs' to silence this warning
            libusb_device **devs, *dev;
                                ^
                                 = NULL
---
 src/ccid_usb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/ccid_usb.c b/src/ccid_usb.c
index b3f4469..aa8df9b 100644
--- a/src/ccid_usb.c
+++ b/src/ccid_usb.c
@@ -320,7 +320,7 @@ status_t OpenUSBByName(unsigned int reader_index, /*@null@*/ char *device)
 	{ \
 		DEBUG_CRITICAL2("Value/Key not defined for " key " in %s", infofile); \
 		return_value = STATUS_UNSUCCESSFUL; \
-		goto end2; \
+		goto end1; \
 	}
 
 	GET_KEYS("ifdVendorID", &ifdVendorID)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pcsclite/CCID.git



More information about the Pcsclite-cvs-commit mailing list