From afbf26492a5adccc4c4eda00eb588b0b79e4290a Mon Sep 17 00:00:00 2001 From: Stafford Horne Date: Mon, 20 Sep 2021 06:03:07 +0900 Subject: [PATCH] tst-tzset: output reason when creating 4GiB file fails Currently, if the temporary file creation fails the create_tz_file function returns NULL. The NULL pointer is then passed to setenv which causes a SIGSEGV. Rather than failing with a SIGSEGV print a warning and exit. --- timezone/tst-tzset.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/timezone/tst-tzset.c b/timezone/tst-tzset.c index d6da2932bb..3dad42e041 100644 --- a/timezone/tst-tzset.c +++ b/timezone/tst-tzset.c @@ -25,6 +25,7 @@ #include #include #include +#include static int do_test (void); #define TEST_FUNCTION do_test () @@ -103,6 +104,13 @@ static void test_tz_file (off64_t size) { char *path = create_tz_file (size); + if (path == NULL) + { + printf ("creating timezone file of size: %" PRId64 "MiB failed.\n", + size / (1024 * 1024)); + exit (1); + } + if (setenv ("TZ", path, 1) < 0) { printf ("setenv failed: %m\n");