summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-08-11 13:57:56 +0200
committerHarald Welte <laforge@gnumonks.org>2018-08-11 12:59:30 +0000
commitd68833cd854b0a47876fea0a180a21c24916c392 (patch)
tree178029d3631012cbb1a41204665c1ccff9e0fd8b
parent272530944609f9daa3ccb803d8b2e8f5b31cd633 (diff)
layer23: Use osmo_strlcpy() to avoid non-terminated strings
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
-rw-r--r--src/host/layer23/src/mobile/mncc_sock.c2
-rw-r--r--src/host/layer23/src/mobile/settings.c2
-rw-r--r--src/host/layer23/src/mobile/vty_interface.c2
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 73159270..39eb7bcc 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 6a7cd81d..7137761d 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 ec1216ff..4adcf905 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) {