b15d38246c
==2117790==ERROR: AddressSanitizer: global-buffer-overflow on address 0x64d9e3c0 at pc 0x59ac4e16 bp 0xcefe8058 sp 0xcefe8048 READ of size 1 at 0x64d9e3c0 thread T0 #0 0x59ac4e15 in up_nputs sim/up_nputs.c:54 #1 0x59a67e4c in syslog_default_write syslog/syslog_channel.c:220 #2 0x59a67823 in syslog_default_write syslog/syslog_write.c:101 #3 0x59a67f10 in syslog_write syslog/syslog_write.c:153 #4 0x59a651c3 in syslogstream_flush syslog/syslog_stream.c:60 #5 0x59a6564e in syslogstream_addchar syslog/syslog_stream.c:104 #6 0x59a6576f in syslogstream_putc syslog/syslog_stream.c:140 #7 0x5989fc4d in vsprintf_internal stdio/lib_libvsprintf.c:952 #8 0x598a1298 in lib_vsprintf stdio/lib_libvsprintf.c:1379 #9 0x59a64ea4 in nx_vsyslog syslog/vsyslog.c:223 #10 0x598a601a in vsyslog syslog/lib_syslog.c:68 #11 0x59b0e3dc in AIOTJS::logPrintf(int, char const*, ...) src/ajs_log.cpp:45 #12 0x59b03d56 in jse_dump_obj src/jse/quickjs/jse_quickjs.cpp:569 #13 0x59b03ea1 in jse_dump_error1(JSContext*, unsigned long long) src/jse/quickjs/jse_quickjs.cpp:602 #14 0x59b03dd9 in jse_dump_error(JSContext*) src/jse/quickjs/jse_quickjs.cpp:591 #15 0x59bed615 in ferry::DomComponent::callHook(char const*) src/framework/dom/component.cpp:65 #16 0x59bfe0ff in ferry::DomComponent::initialize() src/framework/dom/component.cpp:645 #17 0x59bb141d in dom_create_component(JSContext*, unsigned long long, unsigned long long, unsigned long long) (/home/wangbowen/project/central/vela_miot_bes_m0/bin/audio+0x365c41d) #18 0x59b4c0d3 in AIOTJS::__createComponent(JSContext*, unsigned long long, int, unsigned long long*) (/home/wangbowen/project/central/vela_miot_bes_m0/bin/audio+0x35f70d3) #19 0x5a56ec17 in js_call_c_function quickjs/quickjs.c:16108 Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
47 lines
1.7 KiB
C
47 lines
1.7 KiB
C
/****************************************************************************
|
|
* arch/risc-v/src/common/riscv_nputs.c
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership. The
|
|
* ASF licenses this file to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance with the
|
|
* License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
* License for the specific language governing permissions and limitations
|
|
* under the License.
|
|
*
|
|
****************************************************************************/
|
|
|
|
/****************************************************************************
|
|
* Included Files
|
|
****************************************************************************/
|
|
|
|
#include <nuttx/config.h>
|
|
#include <nuttx/arch.h>
|
|
|
|
/****************************************************************************
|
|
* Public Functions
|
|
****************************************************************************/
|
|
|
|
/****************************************************************************
|
|
* Name: up_nputs
|
|
*
|
|
* Description:
|
|
* This is a low-level helper function used to support debug.
|
|
*
|
|
****************************************************************************/
|
|
|
|
void up_nputs(const char *str, size_t len)
|
|
{
|
|
while (len-- > 0 && *str)
|
|
{
|
|
up_putc(*str++);
|
|
}
|
|
}
|