From 70b0abcd034be381d366c38737baa77ca54440cd Mon Sep 17 00:00:00 2001 From: Mike Bradeen Date: Tue, 31 Mar 2026 11:41:10 -0600 Subject: [PATCH] ooh323: Prevent potential buffer overflow in trace logging Replace a call to vsprintf with a call to ast_vasprintf to prevent a possible buffer overflow. Resolves: #GHSA-x348-j6c9-77f3 --- addons/ooh323c/src/ootrace.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/addons/ooh323c/src/ootrace.c b/addons/ooh323c/src/ootrace.c index 3e097faa5d..61d28f4ed6 100644 --- a/addons/ooh323c/src/ootrace.c +++ b/addons/ooh323c/src/ootrace.c @@ -43,13 +43,17 @@ void ooTrace(OOUINT32 traceLevel, const char * fmtspec, ...) __attribute__((form void ooTrace(OOUINT32 traceLevel, const char * fmtspec, ...) { va_list arglist; - char logMessage[MAXLOGMSGLEN]; + char *logMessage = NULL; + int res = 0; if(traceLevel > gs_traceLevel) return; va_start (arglist, fmtspec); - /* memset(logMessage, 0, MAXLOGMSGLEN);*/ - vsprintf(logMessage, fmtspec, arglist); + res = ast_vasprintf(&logMessage, fmtspec, arglist); va_end(arglist); + if (res < 0 || !logMessage) { + return; + } ooTraceLogMessage(logMessage); + ast_free(logMessage); } void ooTraceLogMessage(const char * logMessage)