Formats data into a fixed destination without a capacity argument; output length can exceed the buffer.
The pack does not provide a callable signature for this record; the watched access path is shown directly.
| Arg | Access path | Purpose | Watched |
|---|---|---|---|
| Argument[0] | Argument[0] | The access path Atropos marks for this model. | ▲ sink |
Input is copied into an output buffer without checking that it fits.
Data is written past the end or before the beginning of its intended buffer.
A format string originates from an external source and controls formatting behavior.
Input longer than the destination overwrites adjacent memory or truncates unexpectedly.
Atropos identifies Argument[0] as a buffer-write sink. It cannot see whether untrusted data reaches this call in your repository.
Lachesis is the codebase-level step: it traces reachability and guards for this symbol.
Check this symbol in Lachesis →Safer direction: Use a size-bounded formatter and handle truncation as an error.
sprintf(out, "%s", input);
snprintf(out, sizeof out, "%s", input);
Across languages
No cross-language match.
What neutralizes it
No sanitizer of this kind is modeled.
| Role | Kind | Access path | Model ID | Confidence |
|---|---|---|---|---|
| sink | buffer-write | Argument[0] | c.std.sprintf.a0 | high · corrob. 3 |
| sink | format-string | Argument[1] | c.std.sprintf.a1 | high · corrob. 3 |