From 4274559e693eb18b4a489b667304bc51c2d6b21a Mon Sep 17 00:00:00 2001 From: delphij Date: Thu, 23 Oct 2008 00:31:15 +0000 Subject: Slightly adjust code logic: we allocate a "size"ed length of memory, not size+1. Use strlcpy() to avoid using - 1 as length for strncpy(). --- usr.sbin/nscd/cachelib.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'usr.sbin') diff --git a/usr.sbin/nscd/cachelib.c b/usr.sbin/nscd/cachelib.c index 0a339ee..daa8193 100644 --- a/usr.sbin/nscd/cachelib.c +++ b/usr.sbin/nscd/cachelib.c @@ -550,7 +550,7 @@ register_cache_entry(struct cache_ *the_cache, the_cache->entries = new_entries; } - entry_name_size = strlen(params->entry_name); + entry_name_size = strlen(params->entry_name) + 1; switch (params->entry_type) { case CET_COMMON: @@ -564,9 +564,9 @@ register_cache_entry(struct cache_ *the_cache, (struct cache_entry_params *)&new_common_entry->common_params; new_common_entry->common_params.entry_name = (char *)calloc(1, - entry_name_size+1); + entry_name_size); assert(new_common_entry->common_params.entry_name != NULL); - strncpy(new_common_entry->common_params.entry_name, + strlcpy(new_common_entry->common_params.entry_name, params->entry_name, entry_name_size); new_common_entry->name = new_common_entry->common_params.entry_name; @@ -618,9 +618,9 @@ register_cache_entry(struct cache_ *the_cache, (struct cache_entry_params *)&new_mp_entry->mp_params; new_mp_entry->mp_params.entry_name = (char *)calloc(1, - entry_name_size+1); + entry_name_size); assert(new_mp_entry->mp_params.entry_name != NULL); - strncpy(new_mp_entry->mp_params.entry_name, params->entry_name, + strlcpy(new_mp_entry->mp_params.entry_name, params->entry_name, entry_name_size); new_mp_entry->name = new_mp_entry->mp_params.entry_name; -- cgit v1.1