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;