[PATCH 1/8] test: Validate server log reading more carefully in signal-logging test

Keith Packard keithp at keithp.com
Fri Apr 18 15:21:48 PDT 2014


Check return value from fgets and strchr instead of assuming they
worked.

Signed-off-by: Keith Packard <keithp at keithp.com>
---
 test/signal-logging.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/test/signal-logging.c b/test/signal-logging.c
index 88b37c1..1bb0bd5 100644
--- a/test/signal-logging.c
+++ b/test/signal-logging.c
@@ -178,9 +178,12 @@ 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 {                                  \
+        assert(fgets(read_buf, sizeof(read_buf), f) != NULL);   \
+        msg = strchr(read_buf, ']');                            \
+        assert(msg != NULL);                                    \
+        msg = msg + 2; /* advance past [time.stamp] */          \
+    } while (0)
 
     /* boring test message */
     LogMessageVerbSigSafe(X_ERROR, -1, "test message\n");
-- 
1.9.2



More information about the xorg-devel mailing list