در C آرایه‌ی char buf[8] بررسی طول ندارد: memset(buf, 'A', 10) بی‌اعتراض دو بایت بعد از انتها می‌نویسد. روی stack اسمش stack-buffer-overflow است. راه‌حل: اندازه‌ی واقعی را پاس بدهید، از نوع‌های bounds-checked استفاده کنید و تست‌ها را با AddressSanitizer اجرا کنید.