From 75480000ba3d0cf7e3b1a865c261a24a0a020f6e Mon Sep 17 00:00:00 2001 From: reimar Date: Wed, 30 Sep 2009 09:43:56 +0000 Subject: [PATCH] Convert latin1 codec_name in mov to UTF-8, since all strings in FFmpeg must be valid UTF-8. git-svn-id: file:///var/local/repositories/ffmpeg/trunk@20092 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b --- libavformat/mov.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index c679d0a83f..45c927c086 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -909,8 +909,13 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOVAtom atom) get_buffer(pb, codec_name, 32); /* codec name, pascal string */ if (codec_name[0] <= 31) { - memcpy(st->codec->codec_name, &codec_name[1],codec_name[0]); - st->codec->codec_name[codec_name[0]] = 0; + int i; + int pos = 0; + for (i = 0; i < codec_name[0] && pos < sizeof(st->codec->codec_name) - 3; i++) { + uint8_t tmp; + PUT_UTF8(codec_name[i], tmp, st->codec->codec_name[pos++] = tmp;) + } + st->codec->codec_name[pos] = 0; } st->codec->bits_per_coded_sample = get_be16(pb); /* depth */ -- 2.11.4.GIT