From 2d84486a08c57d00b647586b7cbe2dcec2728e81 Mon Sep 17 00:00:00 2001 From: "Alex Xu (Hello71)" Date: Wed, 1 Nov 2023 19:37:44 -0400 Subject: __year_to_secs: fix dangling pointer The lifetime of the compound literal ends after the "if" statement's implicit block. gcc also warns about this. --- src/time/__year_to_secs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/time/__year_to_secs.c b/src/time/__year_to_secs.c index 2824ec6d..b42f5a6d 100644 --- a/src/time/__year_to_secs.c +++ b/src/time/__year_to_secs.c @@ -10,9 +10,9 @@ long long __year_to_secs(long long year, int *is_leap) return 31536000*(y-70) + 86400*leaps; } - int cycles, centuries, leaps, rem; + int cycles, centuries, leaps, rem, dummy; - if (!is_leap) is_leap = &(int){0}; + if (!is_leap) is_leap = &dummy; cycles = (year-100) / 400; rem = (year-100) % 400; if (rem < 0) { -- cgit v1.2.1