From 570b1c79942b237022be3594ae3a25e7b833cb73 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 18 Apr 2014 14:47:00 -0700 Subject: [PATCH] test: [v2] Validate server log reading more carefully in signal-logging test Check return value from fgets and strchr instead of assuming they worked. [v2] Don't do any necessary work inside the assert call. Also make sure the return value was long enough. Signed-off-by: Keith Packard Reviewed-by: Jamey Sharp --- test/signal-logging.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/test/signal-logging.c b/test/signal-logging.c index 88b37c14e..432012195 100644 --- a/test/signal-logging.c +++ b/test/signal-logging.c @@ -178,9 +178,14 @@ static void logging_format(void) LogInit(log_file_path, NULL); assert(f = fopen(log_file_path, "r")); -#define read_log_msg(msg) \ - fgets(read_buf, sizeof(read_buf), f); \ - msg = strchr(read_buf, ']') + 2; /* advance past [time.stamp] */ +#define read_log_msg(msg) do { \ + msg = fgets(read_buf, sizeof(read_buf), f); \ + assert(msg != NULL); \ + msg = strchr(read_buf, ']'); \ + assert(msg != NULL); \ + assert(strlen(msg) > 2); \ + msg = msg + 2; /* advance past [time.stamp] */ \ + } while (0) /* boring test message */ LogMessageVerbSigSafe(X_ERROR, -1, "test message\n");