From 19b00346e5e805cb88ec24c1d29bbd1d292eec14 Mon Sep 17 00:00:00 2001 From: Vladimir Panteleev Date: Tue, 19 Sep 2017 14:37:35 +0000 Subject: [PATCH] fake_outputs: Don't read past the end of string fake_outputs_init would unconditionally increase the string read pointer variable (walk) by one character more than the number of characters that have been read, to skip past the character delimiting records (a comma). However, when the input string was not terminated by a comma, it would cause the function to read past the null terminator instead. Avoid this by explicitly checking for the expected delimiter. --- src/fake_outputs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fake_outputs.c b/src/fake_outputs.c index 447409d2..64c3e20c 100644 --- a/src/fake_outputs.c +++ b/src/fake_outputs.c @@ -68,7 +68,9 @@ void fake_outputs_init(const char *output_spec) { num_screens++; } - walk += chars_consumed + 1; + walk += chars_consumed; + if (*walk == ',') + walk++; } if (num_screens == 0) { -- 2.39.5