summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-04-18 14:47:00 -0700
committerKeith Packard <keithp@keithp.com>2014-04-18 16:30:09 -0700
commit570b1c79942b237022be3594ae3a25e7b833cb73 (patch)
treeb42e7dbc2f6b9fb9bce714cb1edf15f5a4859d89
parent3119aae80782b7ff5613c719fbcc8a01feab1134 (diff)
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 <keithp@keithp.com> Reviewed-by: Jamey Sharp <jamey@minilop.net>
-rw-r--r--test/signal-logging.c11
1 files 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");