| Previous | Next |
| ETIME | ETIME |
ELOOP
This is a pathname-resolution failure
ELOOP is about how a path is resolved, not about the target file’s contents. A self-referential link, a longer cycle across directories, or a chain that crosses the implementation’s symbolic-link traversal limit can prevent the kernel from reaching a final object.
It can also be a security-relevant signal. Code that expects to operate beneath a controlled directory must not “fix” the failure by repeatedly normalizing strings and retrying. Use directory-descriptor based APIs and link-handling flags where the API provides them, and record the unresolved path plus the directory context used for the call.
How to narrow it down
- Resolve each path component and inspect symbolic links without following them blindly.
- Distinguish a link cycle from an unexpectedly deep but acyclic chain; both can produce the same errno.
- For file-creation or replacement workflows, verify whether an attacker or another process can alter intermediate path components.
References
- Apple XNU: Darwin errno definitions
- POSIX: open() pathname resolution errors
- Apple system-call reference: ELOOP
Looking for a different code? Search another status or error code.