]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-120155: Fix Coverity issue in zoneinfo load_data() (#120232)
authorVictor Stinner <vstinner@python.org>
Mon, 10 Jun 2024 09:54:35 +0000 (11:54 +0200)
committerGitHub <noreply@github.com>
Mon, 10 Jun 2024 09:54:35 +0000 (11:54 +0200)
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|

Modules/_zoneinfo.c

index 38c3f0c45d803fdd547fe413e6acd03b282d3b9b..902ece795b575b475245c6ea302c5d0746a9513d 100644 (file)
@@ -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