summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKurt Kanzenbach <kurt@linutronix.de>2019-04-04 15:48:11 +0200
committerJohn Kacur <jkacur@redhat.com>2019-04-05 18:24:51 +0200
commitefbb46d13739eb8e4047e61ba0eb048017db09f3 (patch)
treed35585a9e59523487a2218ad7438a8cd48ed346f
parent76ba006ebcd60b30d014f4f507a9864541d2e3e6 (diff)
downloadrt-tests-efbb46d13739eb8e4047e61ba0eb048017db09f3.tar.gz
rt-tests-efbb46d13739eb8e4047e61ba0eb048017db09f3.tar.xz
rt-tests: cyclicdeadline: fix segmentation fault on close
The current code generates a segmentation fault in the last free() call. $ sudo ./cyclicdeadline Using all CPUS /sys/kernel/debug/sched_features: Success interval: 600:1000 Tested at 5us of 600us deadline thread 2963 thread[2963] runtime=600us deadline=1000us main thread 2962 fail 2 0 T: 0 ( 2963) I:1000 C: 1268 Min: 7 Act: 55 Avg: 56 Max: 256 [1] 2961 segmentation fault sudo ./cyclicdeadline This is caused by a buffer overflow in setup_ftrace_marker(). The appended string is 21 not 14 characters wide. Fix it by using strlen() like the other function do. Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de> Signed-off-by: John Kacur <jkacur@redhat.com>
-rw-r--r--src/sched_deadline/cyclicdeadline.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/sched_deadline/cyclicdeadline.c b/src/sched_deadline/cyclicdeadline.c
index 0846010..303b5e9 100644
--- a/src/sched_deadline/cyclicdeadline.c
+++ b/src/sched_deadline/cyclicdeadline.c
@@ -283,7 +283,7 @@ static void setup_ftrace_marker(void)
{
struct stat st;
const char *debugfs = find_debugfs();
- char files[strlen(debugfs) + 14];
+ char files[strlen(debugfs) + strlen("/tracing/trace_marker") + 1];
int ret;
if (strlen(debugfs) == 0)