diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-11-13 18:39:17 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-11-13 19:09:04 +0100 |
commit | b52ae27edf392e5a0df95054d394d850b8e57d35 (patch) | |
tree | c90f7da049b2104ef68b2c431f1d96e27afa0a71 | |
parent | 7561974dfee0f233433f05c1f77f97ec10796f35 (diff) | |
download | ffmpeg-b52ae27edf392e5a0df95054d394d850b8e57d35.tar.gz |
avio_put_str16le: Print error message in case of invalid UTF8 input
Found-by: Stefano Sabatini
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/aviobuf.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index dc0ed717fd..d54564ab3d 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -324,8 +324,11 @@ int avio_put_str16le(AVIOContext *s, const char *str) uint32_t ch; uint16_t tmp; - GET_UTF8(ch, *q++, break;) + GET_UTF8(ch, *q++, goto invalid;) PUT_UTF16(ch, tmp, avio_wl16(s, tmp); ret += 2;) + continue; +invalid: + av_log(s, AV_LOG_ERROR, "Invaid UTF8 sequence in avio_put_str16le\n"); } avio_wl16(s, 0); ret += 2; |