diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index 3748818ad50a048f5ae686acb26410dba6b037a4..906415dbac753585e638b138626b373a442ee2a2 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -144,6 +144,7 @@ static void flush_buffer(AVIOContext *s)
 
 void avio_w8(AVIOContext *s, int b)
 {
+    av_assert2(b>=-128 && b<=255);
     *s->buf_ptr++ = b;
     if (s->buf_ptr >= s->buf_end)
         flush_buffer(s);