Omyl, v podstatě jazyků a protokolů je pouze možnost špatně to naimplementovat. I když to autoři více programů naprogramovali nezávisle na sobě víceméně stejně blbě, neznamená to, že za to nezkazili oni.
Tuto pitomost najdete v různých obdobách v mnoha programech, každý její výskyt znamená potenciální bezpečnostní díru. Může za ní programátor, nebo návrh jazyka? Jednoznačně programátor, kterému nedošlo, že strlen() vrací délku řetězce bez závěrečného NUL, ale malloc() musí naalokovat prostor i pro tuto NUL.
Jistě, že můžeme vytvořit alternativní jazyk, který nazveme třeba D--, a ten nebude mít řetězce zakončeny NUL. Ale i tam jistě bude muset být alokován prostor pro záznam délky řetězce. Takže neschopný programátor bude chybovat opět, jen v jiných konstrukcích.