aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-10-12 15:15:08 +0200
committerHarald Welte <laforge@gnumonks.org>2018-10-12 15:15:08 +0200
commitdc85fbc3e13b0463399a64468169ee18698771ab (patch)
tree8491dbe466afbee4213adaeda787c9d088e6582d
parent66ffb6d4935b8089e6aee4487c5230c04a38866b (diff)
libusb_util.c: Avoid gcc warning about strncpy()
What we're doing is actually legal: We copy the full size of the destination array, and then overwrite the last byte with NUL. However, gcc isn't smart enough to see that: libusb_util.c:162:5: warning: ‘strncpy’ specified bound 20 equals destination size [-Wstringop-truncation] strncpy(out[out_idx].path, path, sizeof(out[out_idx].path)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Let's copy one byte less to make it happy. Change-Id: I30ddacdc73e5245c7c38b92d1e94e39b13fae7d3
-rw-r--r--host/libusb_util.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/host/libusb_util.c b/host/libusb_util.c
index cb435e2..45e3f50 100644
--- a/host/libusb_util.c
+++ b/host/libusb_util.c
@@ -159,7 +159,7 @@ int dev_find_matching_interfaces(libusb_device *dev, int class, int sub_class, i
out[out_idx].vendor = dev_desc.idVendor;
out[out_idx].product = dev_desc.idProduct;
out[out_idx].addr = addr;
- strncpy(out[out_idx].path, path, sizeof(out[out_idx].path));
+ strncpy(out[out_idx].path, path, sizeof(out[out_idx].path)-1);
out[out_idx].path[sizeof(out[out_idx].path)-1] = '\0';
out[out_idx].configuration = conf_desc->bConfigurationValue;
out[out_idx].interface = if_desc->bInterfaceNumber;