* localtime.c (tzloadbody): Change ‘<=’ to ‘<’. This fixes an obscure and unlikely performance bug, where malloc was called when it need not have been called in the !ALL_STATE case. --- localtime.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/localtime.c b/localtime.c index 7ab8aa41..3f3bdce5 100644 --- a/localtime.c +++ b/localtime.c @@ -800,7 +800,7 @@ tzloadbody(char const *name, struct state *sp, char tzloadflags, /* Create a string "TZDIR/NAME". Using sprintf here would pull in stdio (and would fail if the resulting string length exceeded INT_MAX!). */ - if (ALL_STATE || sizeof *lsp <= fullnamesize) { + if (ALL_STATE || sizeof *lsp < fullnamesize) { lsp = malloc(max(sizeof *lsp, fullnamesize)); if (!lsp) return HAVE_MALLOC_ERRNO ? errno : ENOMEM; -- 2.48.1