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

Michael Niedermayer git at videolan.org
Wed Apr 16 19:20:46 CEST 2014


ffmpeg | branch: release/2.2 | Michael Niedermayer <michaelni at gmx.at> | Sat Apr 12 20:01:33 2014 +0200| [56f44c26f06a8d86e6768810d5c389de4671913a] | committer: Carl Eugen Hoyos

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>
(cherry picked from commit a31547ce2e5c46d7a7005fe70dcf9b3a7c5fc4ac)

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

 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