diff --git a/frameworks/libhilog/vsnprintf/output_p.inl b/frameworks/libhilog/vsnprintf/output_p.inl index 06a14fc21332aa57ccf62dcbf3ed814229d8f0fb..29ddf8653bd6958cf903130a04a5d006221f7a71 100644 --- a/frameworks/libhilog/vsnprintf/output_p.inl +++ b/frameworks/libhilog/vsnprintf/output_p.inl @@ -496,6 +496,9 @@ int SecOutputPS(SecPrintfStream *stream, int priv, const char *cformat, va_list /* loop each format character */ /* remove format != NULL */ while ((ch = *format++) != SECUREC_CHAR('\0') && charsOut >= 0) { + if (!format) { + return -1; + } laststate = state; state = SECUREC_DECODE_STATE(ch, FMT_CHAR_TABLE, laststate);