From 4b56d88024230630fa78c8dc60743aea7f086417 Mon Sep 17 00:00:00 2001 From: Mike Davis Date: Fri, 29 Jul 2016 16:02:56 +0200 Subject: [PATCH] Use strndup instead of strdup, to handle situations where the reported length and the actual length are different, or not null terminated --- host/libhackrf/src/hackrf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/host/libhackrf/src/hackrf.c b/host/libhackrf/src/hackrf.c index 2f309c38..b0dfa687 100644 --- a/host/libhackrf/src/hackrf.c +++ b/host/libhackrf/src/hackrf.c @@ -384,7 +384,7 @@ hackrf_device_list_t* ADDCALL hackrf_device_list() serial_number_length = libusb_get_string_descriptor_ascii(usb_device, serial_descriptor_index, (unsigned char*)serial_number, sizeof(serial_number)); if( serial_number_length == 32 ) { serial_number[32] = 0; - list->serial_numbers[idx] = strdup(serial_number); + list->serial_numbers[idx] = strndup(serial_number, serial_number_length); } libusb_close(usb_device);