mov: Don't export unknown/unhandled metadata types as if they were UTF8

They can be other incompatible text encodings (such as UTF-16),
or even binary data.

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2021-04-01 14:34:04 +03:00
parent a99dd5f6a4
commit 13ec6624b3
1 changed files with 8 additions and 0 deletions

View File

@ -501,6 +501,14 @@ retry:
av_free(str);
return AVERROR_INVALIDDATA;
}
} else if (data_type > 1 && data_type != 4) {
// data_type can be 0 if not set at all above. data_type 1 means
// UTF8 and 4 means "UTF8 sort". For any other type (UTF16 or e.g.
// a picture), don't return it blindly in a string that is supposed
// to be UTF8 text.
av_log(c->fc, AV_LOG_WARNING, "Skipping unhandled metadata %s of type %d\n", key, data_type);
av_free(str);
return 0;
} else {
int ret = ffio_read_size(pb, str, str_size);
if (ret < 0) {