diff mbox series

trace-cmd: Prevent buffer overflow in update_pid_filters()

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

Commit Message

Jerome Marchand Oct. 29, 2024, 8:47 a.m. UTC
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(-)
diff mbox series

Patch

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");