From 45f2246f73183e835732b8bf6e0c631ecb53bb8d Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 19 Nov 2025 14:10:43 +0800 Subject: [PATCH] [Kernel][Object] Remove object name assertions, use rt_strncpy for safe truncation #10943 --- src/object.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/object.c b/src/object.c index 1d5a211208..507a47894e 100644 --- a/src/object.c +++ b/src/object.c @@ -399,10 +399,9 @@ void rt_object_init(struct rt_object *object, if(obj_name_len > RT_NAME_MAX - 1) { LOG_E("Object name %s exceeds RT_NAME_MAX=%d, consider increasing RT_NAME_MAX.", name, RT_NAME_MAX); - RT_ASSERT(obj_name_len <= RT_NAME_MAX - 1); } - rt_memcpy(object->name, name, obj_name_len); - object->name[obj_name_len] = '\0'; + rt_strncpy(object->name, name, RT_NAME_MAX - 1); + object->name[RT_NAME_MAX - 1] = '\0'; } else { @@ -515,10 +514,9 @@ rt_object_t rt_object_allocate(enum rt_object_class_type type, const char *name) if(obj_name_len > RT_NAME_MAX - 1) { LOG_E("Object name %s exceeds RT_NAME_MAX=%d, consider increasing RT_NAME_MAX.", name, RT_NAME_MAX); - RT_ASSERT(obj_name_len <= RT_NAME_MAX - 1); } - rt_memcpy(object->name, name, obj_name_len); - object->name[obj_name_len] = '\0'; + rt_strncpy(object->name, name, RT_NAME_MAX - 1); + object->name[RT_NAME_MAX - 1] = '\0'; } else {