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
This commit is contained in:
Harald Welte 2018-08-11 13:57:56 +02:00
parent 2725309446
commit d68833cd85
3 changed files with 3 additions and 3 deletions

View File

@ -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);

View File

@ -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;
}

View File

@ -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) {