{"record":{"id":"3b8a9004ed27d03b","repo":"openai/codex","slug":"no-follow-filesystem-operations-require-an-absolut-3b8a90","errorCode":null,"errorMessage":"no-follow filesystem operations require an absolute path","messagePattern":"no-follow filesystem operations require an absolute path","errorType":"validation","errorClass":"io::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/exec-server/src/no_follow/windows.rs","lineNumber":80,"sourceCode":"unsafe extern \"system\" {\n    fn NtCreateFile(\n        file_handle: *mut HANDLE,\n        desired_access: u32,\n        object_attributes: *const ObjectAttributes,\n        io_status_block: *mut IO_STATUS_BLOCK,\n        allocation_size: *const i64,\n        file_attributes: u32,\n        share_access: u32,\n        create_disposition: u32,\n        create_options: u32,\n        ea_buffer: *const c_void,\n        ea_length: u32,\n    ) -> NTSTATUS;\n}\n\nfn nt_path(path: &Path) -> io::Result<Vec<u16>> {\n    if !path.is_absolute() {\n        return Err(io::Error::new(\n            io::ErrorKind::InvalidInput,\n            \"no-follow filesystem operations require an absolute path\",\n        ));\n    }\n\n    let (prefix, source_offset) = match path.components().next() {\n        Some(Component::Prefix(prefix)) => match prefix.kind() {\n            Prefix::Disk(_) => (\"\\\\??\\\\\", 0),\n            Prefix::VerbatimDisk(_) => (\"\\\\??\\\\\", 4),\n            Prefix::UNC(_, _) => (\"\\\\??\\\\UNC\\\\\", 2),\n            Prefix::VerbatimUNC(_, _) => (\"\\\\??\\\\UNC\\\\\", 8),\n            _ => {\n                return Err(io::Error::new(\n                    io::ErrorKind::InvalidInput,\n                    \"no-follow filesystem operations require a local disk or UNC path\",\n                ));\n            }\n        },","sourceCodeStart":62,"sourceCodeEnd":98,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/exec-server/src/no_follow/windows.rs#L62-L98","documentation":"Error \"no-follow filesystem operations require an absolute path\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/exec-server/src/no_follow/windows.rs:80 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}