From 175f06949f5dc9d2c51bdceeeeca334605d20337 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Mon, 19 Nov 2018 07:10:43 +0100 Subject: [PATCH] Use strlcpy in place where strncpy(s, ...) + s[sizeof(s)-1] = \0; was used --- contrib/dlz/drivers/dlz_filesystem_driver.c | 11 ++++++----- lib/dns/rdata/in_1/wks_11.c | 3 +-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/contrib/dlz/drivers/dlz_filesystem_driver.c b/contrib/dlz/drivers/dlz_filesystem_driver.c index 9fa0380680..97186e4433 100644 --- a/contrib/dlz/drivers/dlz_filesystem_driver.c +++ b/contrib/dlz/drivers/dlz_filesystem_driver.c @@ -60,6 +60,7 @@ #include #include #include +#include #include #include @@ -438,12 +439,12 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd, */ if (strcmp((char *) &dir->entry.name[6], "-") == 0) - strcpy(host, "*"); - else { - strncpy(host, + { + strlcpy(host, "*", sizeof(host)); + } else { + strlcpy(host, (char *) &dir->entry.name[6], - sizeof(host) - 1); - host[NAME_MAX-1] = '\0'; + sizeof(host)); } foundHost = true; break; diff --git a/lib/dns/rdata/in_1/wks_11.c b/lib/dns/rdata/in_1/wks_11.c index 00d09dbda1..be5755412c 100644 --- a/lib/dns/rdata/in_1/wks_11.c +++ b/lib/dns/rdata/in_1/wks_11.c @@ -156,8 +156,7 @@ fromtext_in_wks(ARGS_FROMTEXT) { * Lowercase the service string as some getservbyname() are * case sensitive and the database is usually in lowercase. */ - strncpy(service, DNS_AS_STR(token), sizeof(service)); - service[sizeof(service)-1] = '\0'; + strlcpy(service, DNS_AS_STR(token), sizeof(service)); for (i = strlen(service) - 1; i >= 0; i--) if (isupper(service[i]&0xff)) service[i] = tolower(service[i]&0xff);