All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/1] runner: Avoid null characters in results.json
@ 2018-09-26 13:24 Petri Latvala
  2018-09-26 14:58 ` Martin Peres
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Petri Latvala @ 2018-09-26 13:24 UTC (permalink / raw)
  To: igt-dev; +Cc: Tomi Sarvela, Martin Peres

CI pipeline (namely, cibuglog) doesn't cope well with strings that
have \0 in them. If null characters appear in output files, pretend
the output stops at the first such character. Well behaving tests
should not print them anyway.

The case in CI happened due to some hang/crash/explosion/solar flare
that corrupted the output of a test.

Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
Cc: Martin Peres <martin.peres@linux.intel.com>
---
 runner/resultgen.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/runner/resultgen.c b/runner/resultgen.c
index d34b52db..e8a60083 100644
--- a/runner/resultgen.c
+++ b/runner/resultgen.c
@@ -313,7 +313,7 @@ static bool fill_from_output(int fd, const char *binary, const char *key,
 			     struct subtests *subtests,
 			     struct json_object *tests)
 {
-	char *buf, *bufend;
+	char *buf, *bufend, *nullchr;
 	struct stat statbuf;
 	char piglit_name[256];
 	char *igt_version = NULL;
@@ -332,6 +332,14 @@ static bool fill_from_output(int fd, const char *binary, const char *key,
 		buf = NULL;
 	}
 
+	/*
+	 * Avoid null characters: Just pretend the output stops at the
+	 * first such character, if any.
+	 */
+	if ((nullchr = memchr(buf, '\0', statbuf.st_size)) != NULL) {
+		statbuf.st_size = nullchr - buf;
+	}
+
 	bufend = buf + statbuf.st_size;
 
 	igt_version = find_line_starting_with(buf, IGT_VERSIONSTRING, bufend);
-- 
2.18.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-09-27  6:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-26 13:24 [igt-dev] [PATCH i-g-t 1/1] runner: Avoid null characters in results.json Petri Latvala
2018-09-26 14:58 ` Martin Peres
2018-09-27  5:57   ` [igt-dev] (no subject) Tomi Sarvela
2018-09-26 16:30 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/1] runner: Avoid null characters in results.json Patchwork
2018-09-26 22:19 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.