diff options
author | Jere Leppänen <jere.leppanen@nokia.com> | 2024-02-16 14:25:46 +0200 |
---|---|---|
committer | Matias Elo <matias.elo@nokia.com> | 2024-03-08 11:46:07 +0200 |
commit | f15333dba263c00969c7197105f2c0db69b012b1 (patch) | |
tree | 1135f5414b57fbb625c2bd9b853467b1ac9d601d | |
parent | 4fef7d1a54d3be0cc290d5620820701dfa86e045 (diff) |
linux-gen: use _odp_strcpy() instead of strncpy()
Use _odp_strcpy() instead of strncpy().
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
-rw-r--r-- | platform/linux-generic/arch/powerpc/odp_sysinfo_parse.c | 9 | ||||
-rw-r--r-- | platform/linux-generic/arch/x86/odp_sysinfo_parse.c | 5 | ||||
-rw-r--r-- | platform/linux-generic/odp_classification.c | 10 | ||||
-rw-r--r-- | platform/linux-generic/odp_dma.c | 7 | ||||
-rw-r--r-- | platform/linux-generic/odp_ishm.c | 3 | ||||
-rw-r--r-- | platform/linux-generic/odp_ml.c | 13 | ||||
-rw-r--r-- | platform/linux-generic/odp_packet_io.c | 4 | ||||
-rw-r--r-- | platform/linux-generic/odp_pool.c | 9 | ||||
-rw-r--r-- | platform/linux-generic/odp_queue_basic.c | 9 | ||||
-rw-r--r-- | platform/linux-generic/odp_queue_scalable.c | 4 | ||||
-rw-r--r-- | platform/linux-generic/odp_schedule_basic.c | 23 | ||||
-rw-r--r-- | platform/linux-generic/odp_schedule_scalable.c | 3 | ||||
-rw-r--r-- | platform/linux-generic/odp_schedule_sp.c | 23 | ||||
-rw-r--r-- | platform/linux-generic/odp_timer.c | 8 | ||||
-rw-r--r-- | platform/linux-generic/pktio/dpdk.c | 5 | ||||
-rw-r--r-- | platform/linux-generic/pktio/stats/ethtool_stats.c | 3 |
16 files changed, 64 insertions, 74 deletions
diff --git a/platform/linux-generic/arch/powerpc/odp_sysinfo_parse.c b/platform/linux-generic/arch/powerpc/odp_sysinfo_parse.c index 2049cc42f..69d3d12cc 100644 --- a/platform/linux-generic/arch/powerpc/odp_sysinfo_parse.c +++ b/platform/linux-generic/arch/powerpc/odp_sysinfo_parse.c @@ -6,6 +6,7 @@ #include <odp_global_data.h> #include <odp_sysinfo_internal.h> +#include <odp_string_internal.h> #include <string.h> int _odp_cpuinfo_parser(FILE *file, system_info_t *sysinfo) @@ -39,13 +40,9 @@ int _odp_cpuinfo_parser(FILE *file, system_info_t *sysinfo) pos = strstr(str, "cpu"); if (pos) { - int len; - pos = strchr(str, ':'); - strncpy(sysinfo->model_str[id], pos + 2, - MODEL_STR_SIZE - 1); - len = strlen(sysinfo->model_str[id]); - sysinfo->model_str[id][len - 1] = 0; + _odp_strcpy(sysinfo->model_str[id], pos + 2, + MODEL_STR_SIZE); model = 1; count--; } diff --git a/platform/linux-generic/arch/x86/odp_sysinfo_parse.c b/platform/linux-generic/arch/x86/odp_sysinfo_parse.c index 3cbdb2037..a2f9901b9 100644 --- a/platform/linux-generic/arch/x86/odp_sysinfo_parse.c +++ b/platform/linux-generic/arch/x86/odp_sysinfo_parse.c @@ -6,6 +6,7 @@ */ #include <odp_sysinfo_internal.h> +#include <odp_string_internal.h> #include "cpu_flags.h" #include <string.h> @@ -49,8 +50,8 @@ int _odp_cpuinfo_parser(FILE *file, system_info_t *sysinfo) if (pos_end != NULL) *(pos_end - 1) = '\0'; - strncpy(sysinfo->model_str[id], pos + 2, - MODEL_STR_SIZE - 1); + _odp_strcpy(sysinfo->model_str[id], pos + 2, + MODEL_STR_SIZE); if (sysinfo->cpu_hz_max[id]) { freq_set = true; diff --git a/platform/linux-generic/odp_classification.c b/platform/linux-generic/odp_classification.c index 016a8f0c5..7a7bcb8ca 100644 --- a/platform/linux-generic/odp_classification.c +++ b/platform/linux-generic/odp_classification.c @@ -21,6 +21,7 @@ #include <odp_packet_io_internal.h> #include <odp_classification_datamodel.h> #include <odp_classification_internal.h> +#include <odp_string_internal.h> #include <protocols/eth.h> #include <protocols/ip.h> #include <protocols/ipsec.h> @@ -278,12 +279,11 @@ odp_cos_t odp_cls_cos_create(const char *name, const odp_cls_cos_param_t *param_ if (0 == cos->valid) { char *cos_name = cos->name; - if (name == NULL) { + if (name == NULL) cos_name[0] = 0; - } else { - strncpy(cos_name, name, ODP_COS_NAME_LEN - 1); - cos_name[ODP_COS_NAME_LEN - 1] = 0; - } + else + _odp_strcpy(cos_name, name, ODP_COS_NAME_LEN); + for (j = 0; j < CLS_PMR_PER_COS_MAX; j++) { cos->pmr[j] = NULL; cos->linked_cos[j] = NULL; diff --git a/platform/linux-generic/odp_dma.c b/platform/linux-generic/odp_dma.c index b3439498c..b4e0a38f3 100644 --- a/platform/linux-generic/odp_dma.c +++ b/platform/linux-generic/odp_dma.c @@ -23,6 +23,7 @@ #include <odp_init_internal.h> #include <odp_event_internal.h> #include <odp_pool_internal.h> +#include <odp_string_internal.h> #include <string.h> #include <inttypes.h> @@ -263,10 +264,8 @@ odp_dma_t odp_dma_create(const char *name, const odp_dma_param_t *param) session->name[0] = 0; - if (name) { - strncpy(session->name, name, ODP_DMA_NAME_LEN - 1); - session->name[ODP_DMA_NAME_LEN - 1] = 0; - } + if (name) + _odp_strcpy(session->name, name, ODP_DMA_NAME_LEN); session->dma_param = *param; diff --git a/platform/linux-generic/odp_ishm.c b/platform/linux-generic/odp_ishm.c index 3ef1894bc..73ef08b5d 100644 --- a/platform/linux-generic/odp_ishm.c +++ b/platform/linux-generic/odp_ishm.c @@ -49,6 +49,7 @@ #include <odp_ishmphy_internal.h> #include <odp_ishmpool_internal.h> #include <odp_libconfig_internal.h> +#include <odp_string_internal.h> #include <stdlib.h> #include <stdio.h> #include <unistd.h> @@ -1090,7 +1091,7 @@ int _odp_ishm_reserve(const char *name, uint64_t size, int fd, /* save block name (if any given): */ if (name) - strncpy(new_block->name, name, ISHM_NAME_MAXLEN - 1); + _odp_strcpy(new_block->name, name, ISHM_NAME_MAXLEN); else new_block->name[0] = 0; diff --git a/platform/linux-generic/odp_ml.c b/platform/linux-generic/odp_ml.c index 6ab9e7177..27236b7d1 100644 --- a/platform/linux-generic/odp_ml.c +++ b/platform/linux-generic/odp_ml.c @@ -26,6 +26,7 @@ #include <odp_libconfig_internal.h> #include <odp_macros_internal.h> #include <odp_pool_internal.h> +#include <odp_string_internal.h> #include <onnxruntime_c_api.h> @@ -505,8 +506,7 @@ static int get_model_io_info(OrtSession *session, ml_model_t *mdl, return -1; } - strncpy(input_info[i].name, name, ODP_ML_MODEL_IO_NAME_LEN - 1); - input_info[i].name[ODP_ML_MODEL_IO_NAME_LEN - 1] = 0; + _odp_strcpy(input_info[i].name, name, ODP_ML_MODEL_IO_NAME_LEN); /* Free memory allocated by SessionGetInputName */ status = ort_api->AllocatorFree(allocator, name); @@ -556,8 +556,7 @@ static int get_model_io_info(OrtSession *session, ml_model_t *mdl, return -1; } - strncpy(output_info[i].name, name, ODP_ML_MODEL_IO_NAME_LEN - 1); - output_info[i].name[ODP_ML_MODEL_IO_NAME_LEN - 1] = 0; + _odp_strcpy(output_info[i].name, name, ODP_ML_MODEL_IO_NAME_LEN); /* Free memory allocated by SessionGetOutputName */ status = ort_api->AllocatorFree(allocator, name); @@ -917,10 +916,8 @@ odp_ml_model_t odp_ml_model_create(const char *name, const odp_ml_model_param_t mdl->session_opts = session_opts; info->index = i; - if (name) { - strncpy(info->name, name, ODP_ML_MODEL_NAME_LEN - 1); - info->name[ODP_ML_MODEL_NAME_LEN - 1] = 0; - } + if (name) + _odp_strcpy(info->name, name, ODP_ML_MODEL_NAME_LEN); mdl->max_compl_id = param->max_compl_id; for (uint32_t j = 0; j < ML_MAX_COMPL_ID; j++) diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c index 8283c41e6..ec614c002 100644 --- a/platform/linux-generic/odp_packet_io.c +++ b/platform/linux-generic/odp_packet_io.c @@ -31,6 +31,7 @@ #include <odp_libconfig_internal.h> #include <odp_packet_internal.h> #include <odp_packet_io_internal.h> +#include <odp_string_internal.h> #include <odp_pcapng.h> #include <odp_queue_if.h> #include <odp_schedule_if.h> @@ -229,8 +230,7 @@ static const char *strip_pktio_type(const char *name, char *type_out) int type_len = if_name - name; char pktio_type[type_len + 1]; - strncpy(pktio_type, name, type_len); - pktio_type[type_len] = '\0'; + _odp_strcpy(pktio_type, name, type_len + 1); /* Remove colon */ if_name++; diff --git a/platform/linux-generic/odp_pool.c b/platform/linux-generic/odp_pool.c index d3fde70f6..5bb8ddf58 100644 --- a/platform/linux-generic/odp_pool.c +++ b/platform/linux-generic/odp_pool.c @@ -32,6 +32,7 @@ #include <odp_timer_internal.h> #include <odp_event_vector_internal.h> #include <odp_buffer_internal.h> +#include <odp_string_internal.h> #include <string.h> #include <stdio.h> @@ -647,12 +648,10 @@ static bool shm_is_from_huge_pages(odp_shm_t shm) static void set_pool_name(pool_t *pool, const char *name) { - if (name == NULL) { + if (name == NULL) pool->name[0] = 0; - } else { - strncpy(pool->name, name, ODP_POOL_NAME_LEN - 1); - pool->name[ODP_POOL_NAME_LEN - 1] = 0; - } + else + _odp_strcpy(pool->name, name, ODP_POOL_NAME_LEN); } static void set_pool_cache_size(pool_t *pool, uint32_t cache_size) diff --git a/platform/linux-generic/odp_queue_basic.c b/platform/linux-generic/odp_queue_basic.c index f9700742c..44d035f3e 100644 --- a/platform/linux-generic/odp_queue_basic.c +++ b/platform/linux-generic/odp_queue_basic.c @@ -33,6 +33,7 @@ #include <odp_queue_if.h> #include <odp_schedule_if.h> #include <odp_timer_internal.h> +#include <odp_string_internal.h> #include <inttypes.h> #include <string.h> @@ -1049,12 +1050,10 @@ static int queue_init(queue_entry_t *queue, const char *name, queue_type = param->type; - if (name == NULL) { + if (name == NULL) queue->name[0] = 0; - } else { - strncpy(queue->name, name, ODP_QUEUE_NAME_LEN - 1); - queue->name[ODP_QUEUE_NAME_LEN - 1] = 0; - } + else + _odp_strcpy(queue->name, name, ODP_QUEUE_NAME_LEN); memcpy(&queue->param, param, sizeof(odp_queue_param_t)); if (queue->param.sched.lock_count > _odp_sched_fn->max_ordered_locks()) return -1; diff --git a/platform/linux-generic/odp_queue_scalable.c b/platform/linux-generic/odp_queue_scalable.c index bddaa532d..a9723c3bb 100644 --- a/platform/linux-generic/odp_queue_scalable.c +++ b/platform/linux-generic/odp_queue_scalable.c @@ -29,6 +29,7 @@ #include <odp/api/plat/queue_inline_types.h> #include <odp_global_data.h> #include <odp_macros_internal.h> +#include <odp_string_internal.h> #include <string.h> #include <inttypes.h> @@ -104,8 +105,7 @@ static int queue_init(queue_entry_t *queue, const char *name, sched_elem = &queue->sched_elem; ring_size = param->size > 0 ? _ODP_ROUNDUP_POWER2_U32(param->size) : CONFIG_SCAL_QUEUE_SIZE; - strncpy(queue->name, name ? name : "", ODP_QUEUE_NAME_LEN - 1); - queue->name[ODP_QUEUE_NAME_LEN - 1] = 0; + _odp_strcpy(queue->name, name ? name : "", ODP_QUEUE_NAME_LEN); memcpy(&queue->param, param, sizeof(odp_queue_param_t)); size = ring_size * sizeof(_odp_event_hdr_t *); diff --git a/platform/linux-generic/odp_schedule_basic.c b/platform/linux-generic/odp_schedule_basic.c index df26cb04f..e8814ed3c 100644 --- a/platform/linux-generic/odp_schedule_basic.c +++ b/platform/linux-generic/odp_schedule_basic.c @@ -674,13 +674,12 @@ static int schedule_init_global(void) sched->sched_grp[ODP_SCHED_GROUP_ALL].allocated = 1; sched->sched_grp[ODP_SCHED_GROUP_WORKER].allocated = 1; sched->sched_grp[ODP_SCHED_GROUP_CONTROL].allocated = 1; - strncpy(sched->sched_grp[ODP_SCHED_GROUP_ALL].name, "__SCHED_GROUP_ALL", - ODP_SCHED_GROUP_NAME_LEN - 1); - strncpy(sched->sched_grp[ODP_SCHED_GROUP_WORKER].name, "__SCHED_GROUP_WORKER", - ODP_SCHED_GROUP_NAME_LEN - 1); - strncpy(sched->sched_grp[ODP_SCHED_GROUP_CONTROL].name, "__SCHED_GROUP_CONTROL", - ODP_SCHED_GROUP_NAME_LEN - 1); - + _odp_strcpy(sched->sched_grp[ODP_SCHED_GROUP_ALL].name, "__SCHED_GROUP_ALL", + ODP_SCHED_GROUP_NAME_LEN); + _odp_strcpy(sched->sched_grp[ODP_SCHED_GROUP_WORKER].name, "__SCHED_GROUP_WORKER", + ODP_SCHED_GROUP_NAME_LEN); + _odp_strcpy(sched->sched_grp[ODP_SCHED_GROUP_CONTROL].name, "__SCHED_GROUP_CONTROL", + ODP_SCHED_GROUP_NAME_LEN); odp_thrmask_setall(&sched->mask_all); @@ -1933,13 +1932,11 @@ static odp_schedule_group_t schedule_group_create(const char *name, if (!sched->sched_grp[i].allocated) { char *grp_name = sched->sched_grp[i].name; - if (name == NULL) { + if (name == NULL) grp_name[0] = 0; - } else { - strncpy(grp_name, name, - ODP_SCHED_GROUP_NAME_LEN - 1); - grp_name[ODP_SCHED_GROUP_NAME_LEN - 1] = 0; - } + else + _odp_strcpy(grp_name, name, + ODP_SCHED_GROUP_NAME_LEN); grp_update_mask(i, mask); group = (odp_schedule_group_t)i; diff --git a/platform/linux-generic/odp_schedule_scalable.c b/platform/linux-generic/odp_schedule_scalable.c index 5166fb6d0..6cded34ab 100644 --- a/platform/linux-generic/odp_schedule_scalable.c +++ b/platform/linux-generic/odp_schedule_scalable.c @@ -35,6 +35,7 @@ #include <odp_macros_internal.h> #include <odp_packet_io_internal.h> #include <odp_timer_internal.h> +#include <odp_string_internal.h> #include <limits.h> #include <stdbool.h> @@ -1468,7 +1469,7 @@ static odp_schedule_group_t schedule_group_create(const char *name, if (sg == NULL) goto shm_pool_alloc_failed; - strncpy(sg->name, name ? name : "", ODP_SCHED_GROUP_NAME_LEN - 1); + _odp_strcpy(sg->name, name ? name : "", ODP_SCHED_GROUP_NAME_LEN); global->sg_vec[sgi] = sg; memset(sg->thr_actual, 0, sizeof(sg->thr_actual)); sg->thr_wanted = bitset_null(); diff --git a/platform/linux-generic/odp_schedule_sp.c b/platform/linux-generic/odp_schedule_sp.c index f4725eb8f..2476509f3 100644 --- a/platform/linux-generic/odp_schedule_sp.c +++ b/platform/linux-generic/odp_schedule_sp.c @@ -32,6 +32,7 @@ #include <odp_ring_u32_internal.h> #include <odp_timer_internal.h> #include <odp_queue_basic_internal.h> +#include <odp_string_internal.h> #include <odp_global_data.h> #include <string.h> @@ -213,18 +214,18 @@ static int init_global(void) for (i = 0; i < NUM_THREAD; i++) odp_atomic_init_u32(&sched_group->s.thr[i].gen_cnt, 0); - strncpy(sched_group->s.group[GROUP_ALL].name, "__group_all", - ODP_SCHED_GROUP_NAME_LEN - 1); + _odp_strcpy(sched_group->s.group[GROUP_ALL].name, "__group_all", + ODP_SCHED_GROUP_NAME_LEN); odp_thrmask_zero(&sched_group->s.group[GROUP_ALL].mask); sched_group->s.group[GROUP_ALL].allocated = 1; - strncpy(sched_group->s.group[GROUP_WORKER].name, "__group_worker", - ODP_SCHED_GROUP_NAME_LEN - 1); + _odp_strcpy(sched_group->s.group[GROUP_WORKER].name, "__group_worker", + ODP_SCHED_GROUP_NAME_LEN); odp_thrmask_zero(&sched_group->s.group[GROUP_WORKER].mask); sched_group->s.group[GROUP_WORKER].allocated = 1; - strncpy(sched_group->s.group[GROUP_CONTROL].name, "__group_control", - ODP_SCHED_GROUP_NAME_LEN - 1); + _odp_strcpy(sched_group->s.group[GROUP_CONTROL].name, "__group_control", + ODP_SCHED_GROUP_NAME_LEN); odp_thrmask_zero(&sched_group->s.group[GROUP_CONTROL].mask); sched_group->s.group[GROUP_CONTROL].allocated = 1; @@ -804,13 +805,11 @@ static odp_schedule_group_t schedule_group_create(const char *name, #if __GNUC__ >= 13 #pragma GCC diagnostic ignored "-Wstringop-overflow" #endif - if (name == NULL) { + if (name == NULL) grp_name[0] = 0; - } else { - strncpy(grp_name, name, - ODP_SCHED_GROUP_NAME_LEN - 1); - grp_name[ODP_SCHED_GROUP_NAME_LEN - 1] = 0; - } + else + _odp_strcpy(grp_name, name, + ODP_SCHED_GROUP_NAME_LEN); #pragma GCC diagnostic pop odp_thrmask_copy(&sched_group->s.group[i].mask, thrmask); diff --git a/platform/linux-generic/odp_timer.c b/platform/linux-generic/odp_timer.c index 0349e66dd..89abdf575 100644 --- a/platform/linux-generic/odp_timer.c +++ b/platform/linux-generic/odp_timer.c @@ -1232,12 +1232,10 @@ static odp_timer_pool_t timer_pool_new(const char *name, const odp_timer_pool_pa odp_atomic_init_u64(&tp->cur_tick, 0); - if (name == NULL) { + if (name == NULL) tp->name[0] = 0; - } else { - strncpy(tp->name, name, ODP_TIMER_POOL_NAME_LEN - 1); - tp->name[ODP_TIMER_POOL_NAME_LEN - 1] = 0; - } + else + _odp_strcpy(tp->name, name, ODP_TIMER_POOL_NAME_LEN); tp->param = *param; tp->param.res_ns = res_ns; diff --git a/platform/linux-generic/pktio/dpdk.c b/platform/linux-generic/pktio/dpdk.c index e3d0191f3..59a1c9905 100644 --- a/platform/linux-generic/pktio/dpdk.c +++ b/platform/linux-generic/pktio/dpdk.c @@ -34,6 +34,7 @@ #include <protocols/udp.h> #include <odp_pool_internal.h> #include <odp_socket_common.h> +#include <odp_string_internal.h> #include <rte_config.h> #include <rte_common.h> @@ -2476,8 +2477,8 @@ static int dpdk_extra_stat_info(pktio_entry_t *pktio_entry, num_stats = ret; for (i = 0; i < num && i < num_stats; i++) - strncpy(info[i].name, xstats_names[i].name, - ODP_PKTIO_STATS_EXTRA_NAME_LEN - 1); + _odp_strcpy(info[i].name, xstats_names[i].name, + ODP_PKTIO_STATS_EXTRA_NAME_LEN); return num_stats; } diff --git a/platform/linux-generic/pktio/stats/ethtool_stats.c b/platform/linux-generic/pktio/stats/ethtool_stats.c index bbf0729f1..9c9cbd6c9 100644 --- a/platform/linux-generic/pktio/stats/ethtool_stats.c +++ b/platform/linux-generic/pktio/stats/ethtool_stats.c @@ -10,6 +10,7 @@ #include <odp/api/packet_io_stats.h> #include <odp_debug_internal.h> +#include <odp_string_internal.h> #include <odp_ethtool_stats.h> #include <sys/ioctl.h> @@ -234,7 +235,7 @@ int _odp_ethtool_extra_stat_info(int fd, const char *name, for (i = 0; i < n_stats && i < (unsigned int)num; i++) { char *cnt = (char *)&strings->data[i * ETH_GSTRING_LEN]; - strncpy(info[i].name, cnt, ODP_PKTIO_STATS_EXTRA_NAME_LEN - 1); + _odp_strcpy(info[i].name, cnt, ODP_PKTIO_STATS_EXTRA_NAME_LEN); } free(strings); |