The function tzalloc of gnulib can return NULL. It uses malloc() internally and forwards its possible NULL value to the caller.
As other gnulib functions rely on that behaviour, it cannot be simply exchanged with an error-calling malloc alternative. Take possible NULL return value into account in the programs instead. Signed-off-by: Tobias Stoeckmann <[email protected]> --- src/date.c | 2 ++ src/du.c | 2 ++ src/ls.c | 2 ++ src/pr.c | 2 ++ src/stat.c | 6 +++++- 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/date.c b/src/date.c index eb7c624e3..b70923c26 100644 --- a/src/date.c +++ b/src/date.c @@ -506,6 +506,8 @@ main (int argc, char **argv) char const *tzstring = getenv ("TZ"); timezone_t tz = tzalloc (tzstring); + if (tz == NULL) + xalloc_die (); if (batch_file != NULL) ok = batch_convert (batch_file, format, tz, tzstring); diff --git a/src/du.c b/src/du.c index 8e88b5621..fbddf884f 100644 --- a/src/du.c +++ b/src/du.c @@ -909,6 +909,8 @@ main (int argc, char **argv) ? XARGMATCH ("--time", optarg, time_args, time_types) : time_mtime); localtz = tzalloc (getenv ("TZ")); + if (!localtz) + xalloc_die (); break; case TIME_STYLE_OPTION: diff --git a/src/ls.c b/src/ls.c index 73498181e..7e5e9077c 100644 --- a/src/ls.c +++ b/src/ls.c @@ -1486,6 +1486,8 @@ main (int argc, char **argv) } localtz = tzalloc (getenv ("TZ")); + if (localtz == NULL) + xalloc_die (); format_needs_stat = sort_type == sort_time || sort_type == sort_size || format == long_format diff --git a/src/pr.c b/src/pr.c index 4580c5c78..533286453 100644 --- a/src/pr.c +++ b/src/pr.c @@ -1062,6 +1062,8 @@ main (int argc, char **argv) : "%Y-%m-%d %H:%M"); localtz = tzalloc (getenv ("TZ")); + if (localtz == NULL) + xalloc_die (); /* Now we can set a reasonable initial value: */ if (first_page_number == 0) diff --git a/src/stat.c b/src/stat.c index d085cd059..d77fbbb3d 100644 --- a/src/stat.c +++ b/src/stat.c @@ -589,7 +589,11 @@ human_time (struct timespec t) + sizeof "-MM-DD HH:MM:SS.NNNNNNNNN +"]; static timezone_t tz; if (!tz) - tz = tzalloc (getenv ("TZ")); + { + tz = tzalloc (getenv ("TZ")); + if (!tz) + xalloc_die (); + } struct tm tm; int ns = t.tv_nsec; if (localtime_rz (tz, &t.tv_sec, &tm)) -- 2.12.2
