From a31547ce2e5c46d7a7005fe70dcf9b3a7c5fc4ac Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 12 Apr 2014 20:01:33 +0200 Subject: [PATCH] avutil/avstring: do not lose ascii characters when decoding non utf-8 with av_utf8_decode() Fixes Ticket3363 Signed-off-by: Michael Niedermayer --- libavutil/avstring.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavutil/avstring.c b/libavutil/avstring.c index f4374fdc74..e75cdc6312 100644 --- a/libavutil/avstring.c +++ b/libavutil/avstring.c @@ -331,15 +331,15 @@ int av_utf8_decode(int32_t *codep, const uint8_t **bufp, const uint8_t *buf_end, while (code & top) { int tmp; if (p >= buf_end) { - ret = AVERROR(EILSEQ); /* incomplete sequence */ - goto end; + (*bufp) ++; + return AVERROR(EILSEQ); /* incomplete sequence */ } /* we assume the byte to be in the form 10xx-xxxx */ tmp = *p++ - 128; /* strip leading 1 */ if (tmp>>6) { - ret = AVERROR(EILSEQ); - goto end; + (*bufp) ++; + return AVERROR(EILSEQ); } code = (code<<6) + tmp; top <<= 5;