trace/policy: fix event size in log_output

Returning 0 for max_event_size() can lead to writing out of buffer bounds.

Fixes genodelabs/genode#4435
This commit is contained in:
Johannes Schlatow 2022-02-22 10:00:26 +01:00 committed by Norman Feske
parent e95f0a409d
commit d24552f5e2

View File

@ -3,13 +3,16 @@
using namespace Genode;
enum { MAX_EVENT_SIZE = 256 };
size_t max_event_size()
{
return 0;
return MAX_EVENT_SIZE;
}
size_t log_output(char *dst, char const *log_message, size_t len)
{
len = min(len, MAX_EVENT_SIZE);
memcpy(dst, (void*)log_message, len);
return len;
}