Netstrings (1997): la codificación que evita desbordamientos de buffer
En 1997, D. J. Bernstein propuso las netstrings, un formato de codificación de cadenas que incluye la longitud al inicio. Este diseño permite a las aplicaciones verificar el espacio necesario antes de almacenar los datos, evitando así desbordamientos de buffer. El artículo explica la definición, muestra código en C para generar y parsear netstrings, y contrasta este método con el CRLF utilizado por Finger, cuyo uso inseguro de gets() provocó una famosa vulnerabilidad de seguridad.
El famoso agujero de seguridad de Finger puede atribuirse a su uso de la codificación CRLF, que no declara el tamaño de la cadena de antemano, obligando a un parser correcto a solicitar cada vez más memoria mientras lee la cadena.