aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-dpdk/odp_shared_memory.c
diff options
context:
space:
mode:
Diffstat (limited to 'platform/linux-dpdk/odp_shared_memory.c')
-rw-r--r--platform/linux-dpdk/odp_shared_memory.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/platform/linux-dpdk/odp_shared_memory.c b/platform/linux-dpdk/odp_shared_memory.c
index 398771708..dff52fc55 100644
--- a/platform/linux-dpdk/odp_shared_memory.c
+++ b/platform/linux-dpdk/odp_shared_memory.c
@@ -1,8 +1,6 @@
-/* Copyright (c) 2017-2018, Linaro Limited
- * Copyright (c) 2021-2023, Nokia
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright (c) 2017-2018 Linaro Limited
+ * Copyright (c) 2021-2023 Nokia
*/
#include <odp_posix_extensions.h>
@@ -18,6 +16,7 @@
#include <odp_global_data.h>
#include <odp_macros_internal.h>
#include <odp_shm_internal.h>
+#include <odp_string_internal.h>
#include <stdio.h>
#include <string.h>
@@ -287,8 +286,12 @@ odp_shm_t odp_shm_reserve(const char *name, uint64_t size, uint64_t align,
}
block->mz = mz;
- snprintf(block->name, ODP_SHM_NAME_LEN, "%s", name);
- block->name[ODP_SHM_NAME_LEN - 1] = 0;
+
+ if (name == NULL)
+ block->name[0] = 0;
+ else
+ _odp_strcpy(block->name, name, ODP_SHM_NAME_LEN);
+
block->type = SHM_TYPE_LOCAL;
block->size = size;
@@ -334,8 +337,12 @@ odp_shm_t odp_shm_import(const char *remote_name, odp_instance_t odp_inst,
block = &shm_tbl->block[idx];
block->mz = mz;
- snprintf(block->name, ODP_SHM_NAME_LEN, "%s", local_name);
- block->name[ODP_SHM_NAME_LEN - 1] = 0;
+
+ if (local_name == NULL)
+ block->name[0] = 0;
+ else
+ _odp_strcpy(block->name, local_name, ODP_SHM_NAME_LEN);
+
block->type = SHM_TYPE_REMOTE;
odp_spinlock_unlock(&shm_tbl->lock);
@@ -481,7 +488,6 @@ static void walk_memzone(const struct rte_memzone *mz, void *arg)
odp_system_memblock_t *memblock;
int32_t cur = data->blocks;
const char *name;
- int name_len;
data->info->total_mapped += mz->len;
data->blocks++;
@@ -499,12 +505,7 @@ static void walk_memzone(const struct rte_memzone *mz, void *arg)
return;
memblock = &data->memblock[cur];
- name_len = strlen(name);
- if (name_len >= ODP_SYSTEM_MEMBLOCK_NAME_LEN)
- name_len = ODP_SYSTEM_MEMBLOCK_NAME_LEN - 1;
-
- memcpy(memblock->name, name, name_len);
- memblock->name[name_len] = 0;
+ _odp_strcpy(memblock->name, name, ODP_SYSTEM_MEMBLOCK_NAME_LEN);
memblock->addr = (uintptr_t)mz->addr;
memblock->used = mz->len;