Commit d48f4c3b authored by Paul Eggert's avatar Paul Eggert

Port to NetBSD tzalloc

Problem reported by Valery Ushakov (Bug#30738).
* src/editfns.c (xtzalloc): Remove.
(invalid_time_zone_specification): New function.
(tzlookup): Port to NetBSD, where tzalloc can fail when the TZ
string has an invalid value.
parent f1c48b0e
......@@ -117,14 +117,10 @@ emacs_mktime_z (timezone_t tz, struct tm *tm)
return t;
}
/* Allocate a timezone, signaling on failure. */
static timezone_t
xtzalloc (char const *name)
static _Noreturn void
invalid_time_zone_specification (Lisp_Object zone)
{
timezone_t tz = tzalloc (name);
if (!tz)
memory_full (SIZE_MAX);
return tz;
xsignal2 (Qerror, build_string ("Invalid time zone specification"), zone);
}
/* Free a timezone, except do not free the time zone for local time.
......@@ -205,9 +201,15 @@ tzlookup (Lisp_Object zone, bool settz)
}
}
else
xsignal2 (Qerror, build_string ("Invalid time zone specification"),
zone);
new_tz = xtzalloc (zone_string);
invalid_time_zone_specification (zone);
new_tz = tzalloc (zone_string);
if (!new_tz)
{
if (errno == ENOMEM)
memory_full (SIZE_MAX);
invalid_time_zone_specification (zone);
}
}
if (settz)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment