From a0e2499f5d16cf405c6f9f800a6ad271bfd3c383 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 23 May 2018 16:36:11 +0200 Subject: [PATCH] tools: Fix compiler warning from wrong array size --- tools/bneptest.c | 2 +- tools/btmgmt.c | 2 +- tools/btproxy.c | 2 +- tools/hciattach_ath3k.c | 2 +- tools/hciattach_st.c | 2 +- tools/test-runner.c | 6 +++--- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tools/bneptest.c b/tools/bneptest.c index 1404252d0..a7d5815f8 100644 --- a/tools/bneptest.c +++ b/tools/bneptest.c @@ -89,7 +89,7 @@ static int set_forward_delay(int sk) struct ifreq ifr; memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_name, bridge, IFNAMSIZ - 1); + strncpy(ifr.ifr_name, bridge, IFNAMSIZ); ifr.ifr_data = (char *) args; if (ioctl(sk, SIOCDEVPRIVATE, &ifr) < 0) { diff --git a/tools/btmgmt.c b/tools/btmgmt.c index f60bb8b53..ef1a3938e 100644 --- a/tools/btmgmt.c +++ b/tools/btmgmt.c @@ -2293,7 +2293,7 @@ static void cmd_name(int argc, char **argv) strncpy((char *) cp.name, argv[1], HCI_MAX_NAME_LENGTH); if (argc > 2) strncpy((char *) cp.short_name, argv[2], - MGMT_MAX_SHORT_NAME_LENGTH); + MGMT_MAX_SHORT_NAME_LENGTH - 1); if (mgmt_send(mgmt, MGMT_OP_SET_LOCAL_NAME, index, sizeof(cp), &cp, name_rsp, NULL, NULL) == 0) { diff --git a/tools/btproxy.c b/tools/btproxy.c index ae0ff744b..58fa958e6 100644 --- a/tools/btproxy.c +++ b/tools/btproxy.c @@ -629,7 +629,7 @@ static int open_unix(const char *path) memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; - strncpy(addr.sun_path, path, len); + strncpy(addr.sun_path, path, sizeof(addr.sun_path) - 1); if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) { perror("Failed to bind Unix server socket"); diff --git a/tools/hciattach_ath3k.c b/tools/hciattach_ath3k.c index a76b4483f..bb0d51e32 100644 --- a/tools/hciattach_ath3k.c +++ b/tools/hciattach_ath3k.c @@ -499,7 +499,7 @@ static int set_patch_ram(int dev, char *patch_loc, int len) } #define PATCH_LOC_KEY "DA:" -#define PATCH_LOC_STRING_LEN 8 +#define PATCH_LOC_STRING_LEN (8 + 237) static int ps_patch_download(int fd, FILE *stream) { char byte[3]; diff --git a/tools/hciattach_st.c b/tools/hciattach_st.c index 85a2e0898..b34964cb7 100644 --- a/tools/hciattach_st.c +++ b/tools/hciattach_st.c @@ -120,7 +120,7 @@ static int load_file(int dd, uint16_t version, const char *suffix) { DIR *dir; struct dirent *d; - char pathname[PATH_MAX], filename[NAME_MAX + 2], prefix[20]; + char pathname[PATH_MAX], filename[PATH_MAX + NAME_MAX + 1], prefix[20]; unsigned char cmd[256]; unsigned char buf[256]; uint8_t seqnum = 0; diff --git a/tools/test-runner.c b/tools/test-runner.c index fb8f7e2ff..0a298dc6a 100644 --- a/tools/test-runner.c +++ b/tools/test-runner.c @@ -51,7 +51,7 @@ #define WAIT_ANY (-1) #endif -#define CMDLINE_MAX 2048 +#define CMDLINE_MAX (2048 * 10) static const char *own_binary; static char **test_argv; @@ -243,9 +243,9 @@ static void start_qemu(void) strcat(cwd, "/"); if (own_binary[0] == '/') - snprintf(initcmd, sizeof(initcmd), "%s", own_binary); + snprintf(initcmd, sizeof(initcmd) + 1, "%s", own_binary); else - snprintf(initcmd, sizeof(initcmd), "%s/%s", cwd, own_binary); + snprintf(initcmd, sizeof(initcmd) + 1, "%s/%s", cwd, own_binary); pos = snprintf(testargs, sizeof(testargs), "%s", test_argv[0]); -- 2.47.3