diff --git a/Modules/_zoneinfo.c b/Modules/_zoneinfo.c index 9f5e64d8486..d7e71576576 100644 --- a/Modules/_zoneinfo.c +++ b/Modules/_zoneinfo.c @@ -1457,7 +1457,9 @@ parse_tz_str(PyObject *tz_str_obj, _tzrule *out) PyObject *dst_abbr = NULL; TransitionRuleType *start = NULL; TransitionRuleType *end = NULL; - long std_offset, dst_offset; + // Initialize offsets to invalid value (> 24 hours) + long std_offset = 1 << 20; + long dst_offset = 1 << 20; char *tz_str = PyBytes_AsString(tz_str_obj); if (tz_str == NULL) { @@ -1907,7 +1909,7 @@ build_tzrule(PyObject *std_abbr, PyObject *dst_abbr, long std_offset, long dst_offset, TransitionRuleType *start, TransitionRuleType *end, _tzrule *out) { - _tzrule rv = {0}; + _tzrule rv = {{0}}; rv.start = start; rv.end = end;