{"record":{"id":"7c2a0fe4f2e94641","repo":"zed-industries/zed","slug":"path-must-be-shorter-than-sun-len","errorCode":null,"errorMessage":"path must be shorter than SUN_LEN","messagePattern":"path must be shorter than SUN_LEN","errorType":"validation","errorClass":"std::io::Error","httpStatus":null,"severity":"error","filePath":"crates/net/src/util.rs","lineNumber":41,"sourceCode":"// https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/\npub(crate) fn sockaddr_un<P: AsRef<Path>>(path: P) -> Result<(SOCKADDR_UN, usize)> {\n    let mut addr = SOCKADDR_UN::default();\n    addr.sun_family = ADDRESS_FAMILY(AF_UNIX);\n\n    let bytes = path\n        .as_ref()\n        .to_str()\n        .map(|s| s.as_bytes())\n        .ok_or(ErrorKind::InvalidInput)?;\n\n    if bytes.contains(&0) {\n        return Err(Error::new(\n            ErrorKind::InvalidInput,\n            \"paths may not contain interior null bytes\",\n        ));\n    }\n    if bytes.len() >= addr.sun_path.len() {\n        return Err(Error::new(\n            ErrorKind::InvalidInput,\n            \"path must be shorter than SUN_LEN\",\n        ));\n    }\n\n    unsafe {\n        std::ptr::copy_nonoverlapping(\n            bytes.as_ptr(),\n            addr.sun_path.as_mut_ptr().cast(),\n            bytes.len(),\n        );\n    }\n\n    let mut len = sun_path_offset(&addr) + bytes.len();\n    match bytes.first() {\n        Some(&0) | None => {}\n        Some(_) => len += 1,\n    }","sourceCodeStart":23,"sourceCodeEnd":59,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/net/src/util.rs#L23-L59","documentation":"Raised in sockaddr_un() (Windows AF_UNIX): the Unix-socket path is at least as long as the sun_path buffer, so it cannot be represented in a sockaddr_un and the bind/connect fails with this input error.","triggerScenarios":"Thrown at crates/net/src/util.rs:41 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Shorten the socket path (e.g. use a shorter temp directory or socket name)","Hash or truncate long identifiers when composing the socket filename"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}