diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-10-12 15:15:08 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-10-12 15:15:08 +0200 |
commit | dc85fbc3e13b0463399a64468169ee18698771ab (patch) | |
tree | 8491dbe466afbee4213adaeda787c9d088e6582d | |
parent | 66ffb6d4935b8089e6aee4487c5230c04a38866b (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.c | 2 |
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; |