From 80de216afbb14467ae6d21a83bf935fe91b78d2b Mon Sep 17 00:00:00 2001 From: zhaohe Date: Wed, 6 Sep 2023 08:10:52 +0800 Subject: [PATCH] update --- components/cmdscheduler/cmd_scheduler.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/components/cmdscheduler/cmd_scheduler.cpp b/components/cmdscheduler/cmd_scheduler.cpp index b699398..e0b2c16 100644 --- a/components/cmdscheduler/cmd_scheduler.cpp +++ b/components/cmdscheduler/cmd_scheduler.cpp @@ -20,7 +20,7 @@ void CmdScheduler::initialize(UART_HandleTypeDef* huart, uint32_t rxbufsize) { cfg.rxovertime_ms = 3; cfg.name = "CmdSchedulerUart"; - rxbuf = new char[rxbufsize]; + rxbuf = new char[rxbufsize + 1]; ZASSERT(rxbuf != NULL); m_uart->initialize(&cfg); @@ -30,6 +30,7 @@ void CmdScheduler::initialize(UART_HandleTypeDef* huart, uint32_t rxbufsize) { return; } memcpy(rxbuf, data, len); + rxbuf[len] = '\0'; m_rxsize = len; m_dataisready = true; // on data ,in irq context @@ -66,11 +67,9 @@ void CmdScheduler::schedule() { void CmdScheduler::callcmd(const char* cmd, CmdProcessContext& context) { int argc = 0; char* argv[10] = {0}; - { - memset(cmdcache, 0, sizeof(cmdcache)); - argc = 0; - memset(argv, 0, sizeof(argv)); - } + memset(cmdcache, 0, sizeof(cmdcache)); + argc = 0; + memset(argv, 0, sizeof(argv)); strcpy(cmdcache, cmd); prase_cmd(cmdcache, strlen(cmdcache), argc, argv);