Message ID | 20241029084705.629605-1-jmarchan@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | trace-cmd: Prevent buffer overflow in update_pid_filters() | expand |
diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c index a008cdfd..8726f9f4 100644 --- a/tracecmd/trace-record.c +++ b/tracecmd/trace-record.c @@ -2851,7 +2851,7 @@ static void update_pid_filters(struct buffer_instance *instance) if (fd < 0) die("Failed to access set_event_pid"); - len = instance->len_filter_pids + instance->nr_filter_pids; + len = instance->len_filter_pids + instance->nr_filter_pids + 1; filter = malloc(len); if (!filter) die("Failed to allocate pid filter");
The buffer in which the updated filter is written in update_pid_filters() is missing one byte to store the null character. It fixes the following error: $ trace-cmd start -e irq:* -e sched:* -P 1 *** buffer overflow detected ***: terminated Aborted (core dumped) Signed-off-by: Jerome Marchand <jmarchan@redhat.com> --- tracecmd/trace-record.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)