Skip to content

Commit ac7ecfb

Browse files
committed
fix: Uninitialized local #1999
Annotating local temp_file_name variable is simple than to annotate temp_file. Fixes #1999 Signed-off-by: Dhaval Shah <30974879+dhavalgshah@users.noreply.github.com>
1 parent b23c5d9 commit ac7ecfb

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

tuf/ngclient/updater.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
import os
3838
import shutil
3939
import tempfile
40-
from typing import Any, Optional, Set
40+
from typing import Optional, Set
4141
from urllib import parse
4242

4343
from tuf.api import exceptions
@@ -275,22 +275,23 @@ def _load_local_metadata(self, rolename: str) -> bytes:
275275

276276
def _persist_metadata(self, rolename: str, data: bytes) -> None:
277277
"""Write metadata to disk atomically to avoid data loss."""
278-
temp_file: Optional[tempfile._TemporaryFileWrapper[Any]] = None
278+
temp_file_name: Optional[str] = None
279279
try:
280280
# encode the rolename to avoid issues with e.g. path separators
281281
encoded_name = parse.quote(rolename, "")
282282
filename = os.path.join(self._dir, f"{encoded_name}.json")
283283
with tempfile.NamedTemporaryFile(
284284
dir=self._dir, delete=False
285285
) as temp_file:
286+
temp_file_name = temp_file.name
286287
temp_file.write(data)
287288
os.replace(temp_file.name, filename)
288289
except OSError as e:
289290
# remove tempfile if we managed to create one,
290291
# then let the exception happen
291-
if temp_file is not None:
292+
if temp_file_name is not None:
292293
try:
293-
os.remove(temp_file.name)
294+
os.remove(temp_file_name)
294295
except FileNotFoundError:
295296
pass
296297
raise e

0 commit comments

Comments
 (0)