diff options
author | Victor Stinner <vstinner@python.org> | 2024-06-10 09:54:35 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-10 09:54:35 (GMT) |
commit | b90bd3e5bbc136f53b24ee791824acd6b17e0d42 (patch) | |
tree | ff226fec5d81d7694ca84558233a92e674cad3a3 | |
parent | 4829522b8d3e1a28930f1cccfcc9635e035a0eb4 (diff) | |
download | cpython-b90bd3e5bbc136f53b24ee791824acd6b17e0d42.zip cpython-b90bd3e5bbc136f53b24ee791824acd6b17e0d42.tar.gz cpython-b90bd3e5bbc136f53b24ee791824acd6b17e0d42.tar.bz2 |
gh-120155: Fix Coverity issue in zoneinfo load_data() (#120232)
Declare the 'rv' varaible at the top of the load_data() function to
make sure that it's initialized before the first 'goto error' which
uses 'rv' (return rv).
Fix the Coverity issue:
Error: UNINIT (CWE-457):
Python-3.12.2/Modules/_zoneinfo.c:1233:5: skipped_decl: Jumping over declaration of ""rv"".
Python-3.12.2/Modules/_zoneinfo.c:1284:5: uninit_use: Using uninitialized value ""rv"".
1282| }
1283|
1284|-> return rv;
1285| }
1286|
-rw-r--r-- | Modules/_zoneinfo.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Modules/_zoneinfo.c b/Modules/_zoneinfo.c index 38c3f0c..902ece7 100644 --- a/Modules/_zoneinfo.c +++ b/Modules/_zoneinfo.c @@ -944,6 +944,7 @@ end: static int load_data(zoneinfo_state *state, PyZoneInfo_ZoneInfo *self, PyObject *file_obj) { + int rv = 0; PyObject *data_tuple = NULL; long *utcoff = NULL; @@ -1220,7 +1221,6 @@ load_data(zoneinfo_state *state, PyZoneInfo_ZoneInfo *self, PyObject *file_obj) } } - int rv = 0; goto cleanup; error: // These resources only need to be freed if we have failed, if we succeed |