From d68833cd854b0a47876fea0a180a21c24916c392 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 11 Aug 2018 13:57:56 +0200 Subject: [PATCH] layer23: Use osmo_strlcpy() to avoid non-terminated strings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit settings.c:191:2: warning: ‘strncpy’ output may be truncated copying 15 bytes from a string of length 15 -Wstringop-truncation] strncpy(set->imeisv, set->imei, 15); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC subscriber.o CC support.o CC transaction.o CC vty_interface.o CC voice.o CC mncc_sock.o CC primitives.o mncc_sock.c: In function ‘osmo_unixsock_listen’: mncc_sock.c:318:2: warning: ‘strncpy’ specified bound 108 equals destination size [-Wstringop-truncation] strncpy(local.sun_path, path, sizeof(local.sun_path)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC script_lua.o vty_interface.c: In function ‘cfg_gps_device’: vty_interface.c:1144:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation] strncpy(g.device, argv[0], sizeof(g.device)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AR libmobile.a Change-Id: Id52978f3bf7a8abea62237d7c32f8f87e1bb34a1 --- src/host/layer23/src/mobile/mncc_sock.c | 2 +- src/host/layer23/src/mobile/settings.c | 2 +- src/host/layer23/src/mobile/vty_interface.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/host/layer23/src/mobile/mncc_sock.c b/src/host/layer23/src/mobile/mncc_sock.c index 73159270b..39eb7bcc9 100644 --- a/src/host/layer23/src/mobile/mncc_sock.c +++ b/src/host/layer23/src/mobile/mncc_sock.c @@ -315,7 +315,7 @@ int osmo_unixsock_listen(struct osmo_fd *bfd, int type, const char *path) } local.sun_family = AF_UNIX; - strncpy(local.sun_path, path, sizeof(local.sun_path)); + osmo_strlcpy(local.sun_path, path, sizeof(local.sun_path)); local.sun_path[sizeof(local.sun_path) - 1] = '\0'; unlink(local.sun_path); diff --git a/src/host/layer23/src/mobile/settings.c b/src/host/layer23/src/mobile/settings.c index 6a7cd81d9..7137761db 100644 --- a/src/host/layer23/src/mobile/settings.c +++ b/src/host/layer23/src/mobile/settings.c @@ -189,7 +189,7 @@ int gsm_random_imei(struct gsm_settings *set) sprintf(rand + 8, "%07d", layer23_random() % 10000000); strcpy(set->imei + 15 - digits, rand + 15 - digits); - strncpy(set->imeisv, set->imei, 15); + osmo_strlcpy(set->imeisv, set->imei, 15); return 0; } diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c index ec1216ffd..4adcf9058 100644 --- a/src/host/layer23/src/mobile/vty_interface.c +++ b/src/host/layer23/src/mobile/vty_interface.c @@ -1141,7 +1141,7 @@ DEFUN(cfg_gps_device, cfg_gps_device_cmd, "gps device DEVICE", "GPS receiver\nSelect serial device\n" "Full path of serial device including /dev/") { - strncpy(g.device, argv[0], sizeof(g.device)); + osmo_strlcpy(g.device, argv[0], sizeof(g.device)); g.device[sizeof(g.device) - 1] = '\0'; g.gps_type = GPS_TYPE_SERIAL; if (g.enable) {