#include <isc/platform.h>
#include <isc/print.h>
#include <isc/result.h>
+#include <isc/string.h>
#include <isc/util.h>
#include <named/globals.h>
*/
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;
* 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);