MCPcopy Create free account
hub / github.com/openai/plugins / _rename_handle

Function _rename_handle

plugins/codex-security/scripts/windows_scan_local_files.py:484–505  ·  view source on GitHub ↗
(handle: int, destination_path: Path)

Source from the content-addressed store, hash-verified

482
483
484def _rename_handle(handle: int, destination_path: Path) -> None:
485 encoded_name = _extended_path(destination_path).encode("utf-16-le")
486 file_name_offset = _FileRenameInfo.FileName.offset
487 buffer_size = max(
488 ctypes.sizeof(_FileRenameInfo),
489 file_name_offset + len(encoded_name) + ctypes.sizeof(wintypes.WCHAR),
490 )
491 buffer = ctypes.create_string_buffer(buffer_size)
492 info = ctypes.cast(buffer, ctypes.POINTER(_FileRenameInfo)).contents
493 info.FlagsOrReplaceIfExists = 1
494 # The fully qualified destination uses a null RootDirectory. Verified
495 # directory handles remain open to prevent ancestor replacement.
496 info.RootDirectory = None
497 info.FileNameLength = len(encoded_name)
498 ctypes.memmove(ctypes.addressof(buffer) + file_name_offset, encoded_name, len(encoded_name))
499 if not _SetFileInformationByHandle(
500 handle,
501 _FILE_RENAME_INFO_CLASS,
502 buffer,
503 buffer_size,
504 ):
505 _raise_last_error("SetFileInformationByHandle(FileRenameInfo)")
506
507
508def _mark_handle_for_deletion(handle: int) -> None:

Callers 1

atomic_writeFunction · 0.85

Calls 2

_extended_pathFunction · 0.85
_raise_last_errorFunction · 0.85

Tested by

no test coverage detected