]> git.gag.com Git - fw/openocd/commit
stlink: fix SIGSEGV with libusb v1.0.24-33-g32a2206 (11618)
authorAntonio Borneo <borneo.antonio@gmail.com>
Wed, 23 Jun 2021 14:52:16 +0000 (16:52 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sun, 27 Jun 2021 13:57:43 +0000 (14:57 +0100)
commitcff0e417da58adef1ceef9a63a99412c2cc87ff3
tree20689f9cb7377522cfd59f4bb5bbcc8cdb2cb47b
parent94ba5219ede27d6193ebac15af0468de60c9bfca
stlink: fix SIGSEGV with libusb v1.0.24-33-g32a2206 (11618)

The stlink driver incorrectly uses a NULL pointer for libusb's
struct libusb_context.
The correct value to be used is local in libusb_helper.c.

Move in the helper file, in a wrapper function, the only call that
requires the above value, and let stlink driver to use this
wrapper.

This issue has not triggered any visible problem until a code
refactoring [1] in libusb has made OpenOCD crashing on Windows and
on MacOS.

Change-Id: Id1818c8af7cf0d4d17dfa1d22aad079da01ef740
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Fixes: https://sourceforge.net/p/openocd/tickets/308/
Fixes: https://github.com/libusb/libusb/issues/928/
Fixes: 42d8fa899c6a ("stlink_usb: Submit multiple USB URBs at once to improve performance")
Link: [1] https://github.com/libusb/libusb/commit/32a22069428c
Reported-by: Andrzej Sierżęga <asier70@gmail.com>
Co-developed-by: Andrzej Sierżęga <asier70@gmail.com>
Co-developed-by: Xiaofan Chen <xiaofanc@gmail.com>
Reviewed-on: http://openocd.zylin.com/6331
Tested-by: jenkins
Reviewed-by: Marc Schink <dev@zapb.de>
Reviewed-by: Xiaofan <xiaofanc@gmail.com>
Reviewed-by: Andrzej Sierżęga <asier70@gmail.com>
Reviewed-by: Oleksij Rempel <linux@rempel-privat.de>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
src/jtag/drivers/libusb_helper.c
src/jtag/drivers/libusb_helper.h
src/jtag/drivers/stlink_usb.c