From 83032c5e58f5586874a7c588fc563914fbed7357 Mon Sep 17 00:00:00 2001 From: martin Date: Fri, 23 Feb 2024 12:21:22 -0600 Subject: [PATCH] add length check it seems like the strncpy is clobbering something man i don't have c down --- goldhen_plugins/plugin_src/extern_traces/source/logging.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/goldhen_plugins/plugin_src/extern_traces/source/logging.c b/goldhen_plugins/plugin_src/extern_traces/source/logging.c index e1c4f965..906abda4 100644 --- a/goldhen_plugins/plugin_src/extern_traces/source/logging.c +++ b/goldhen_plugins/plugin_src/extern_traces/source/logging.c @@ -109,6 +109,11 @@ long sceKernelWrite(int, const void *, unsigned long); void extern_logf(const char *msg) { int len = strlen(msg); + if (logging_state.buffer_idx + len >= MAX_BUFFERED_BYTES) { + printf("extern_traces: extern_logf dropping logs\n"); + return; + } + strncpy(&logging_state.buffer[logging_state.buffer_idx], msg, len); logging_state.buffer_idx += len;