Wuffs: Wrangling Untrusted File Formats Safely

Wuffs is a memory-safe programming language designed for Wrangling Untrusted File Formats Safely, focusing on parsing, decoding, and encoding various file formats such as images, audio, video, fonts, and compressed archives. The language is exceptionally fast, outperforming established libraries in decoding bzip2, deflate, GIF, and PNG files. Wuffs aims to provide the safety of Go or Rust with the speed of C for use in large C/C++ projects like web browsers and operating systems. Notably, Wuffs conducts all safety checks at compile time, ensuring safety against buffer overflows, integer arithmetic overflows, and null pointer dereferences. The language is hermetic, producing Sans I/O style libraries that are agnostic to ‘function colors’ and must be combined with synchronous or asynchronous I/O by the library caller. The language requires explicit annotations for safety, leading to longer programming times but ultimately ensuring robustness. Wuffs is not intended for general programming but rather for writing performance and security-conscious libraries. The compiler offers comprehensive compile-time checking to prevent errors and is available under both MIT and Apache licenses. Wuffs is not affiliated with Google, but its mascot Tony the wombat symbolizes its mission to combat buffer overflows.

https://github.com/google/wuffs

To top