[FFmpeg-cvslog] avutil/avstring: do not lose ascii characters when decoding non utf-8 with av_utf8_decode( )

Michael Niedermayer git at videolan.org
Sun Apr 13 16:56:10 CEST 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Apr 12 20:01:33 2014 +0200| [a31547ce2e5c46d7a7005fe70dcf9b3a7c5fc4ac] | committer: Michael Niedermayer

avutil/avstring: do not lose ascii characters when decoding non utf-8 with av_utf8_decode()

Fixes Ticket3363

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a31547ce2e5c46d7a7005fe70dcf9b3a7c5fc4ac
---

 libavutil/avstring.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavutil/avstring.c b/libavutil/avstring.c
index f4374fd..e75cdc6 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;



More information about the ffmpeg-cvslog mailing list