Abstract—Despite being known since a long time, memory
violations are still a very important cause of security problems
in low-level programming languages containing data parsers. We
address this problem by proposing a pragmatic solution to fix
not only bugs, but classes of bugs. First, using a fast and safe
language such as Rust, and then using a parser combinator. We
discuss the advantages and difficulties of this solution, and we
present two cases of how to implement safe parsers and insert
them in large C projects. The implementation is provided as a
set of parsers and projects in the Rust language
http://spw17.langsec.org/papers/chifflier-parsing-in-2017.pdf
violations are still a very important cause of security problems
in low-level programming languages containing data parsers. We
address this problem by proposing a pragmatic solution to fix
not only bugs, but classes of bugs. First, using a fast and safe
language such as Rust, and then using a parser combinator. We
discuss the advantages and difficulties of this solution, and we
present two cases of how to implement safe parsers and insert
them in large C projects. The implementation is provided as a
set of parsers and projects in the Rust language
http://spw17.langsec.org/papers/chifflier-parsing-in-2017.pdf