From 7ab26d58b5a6f2ab4b15be70073ce7b8105e9a8c Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Thu, 24 Dec 2020 14:59:09 +0000 Subject: [PATCH] Fixed bug #1139 again. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_20.3.x@13978 27425a3e-05d8-49a3-a47f-9c15f0e5edd8 --- os/oslib/src/chfactory.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/os/oslib/src/chfactory.c b/os/oslib/src/chfactory.c index 69257eceb..1a80e8ecf 100644 --- a/os/oslib/src/chfactory.c +++ b/os/oslib/src/chfactory.c @@ -85,13 +85,14 @@ objects_factory_t ch_factory; static void copy_name(const char *sp, char *dp) { unsigned i; + char c; - i = 0U; - while ((*sp != (char)0) && (i < CH_CFG_FACTORY_MAX_NAMES_LENGTH)) { - *dp = *sp; - sp++; - dp++; - } + i = CH_CFG_FACTORY_MAX_NAMES_LENGTH; + do { + c = *sp++; + *dp++ = c; + i--; + } while ((c != (char)0) && (i > 0U)); } static inline void dyn_list_init(dyn_list_t *dlp) {