diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 392b369a78..5dda200a3b 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -359,6 +359,8 @@ static inline int put_str16(AVIOContext *s, const char *str, const int be) invalid: av_log(s, AV_LOG_ERROR, "Invaid UTF8 sequence in avio_put_str16%s\n", be ? "be" : "le"); err = AVERROR(EINVAL); + if (!*(q-1)) + break; } if (be) avio_wb16(s, 0);