libopenmpt: add missing avio_read return value check
This fixes heap-buffer-overflows in libopenmpt caused by interpreting
the negative size value as unsigned size_t.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 367cac7827
)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
committed by
Michael Niedermayer
parent
3442c20c4d
commit
41fc098a86
@@ -82,6 +82,11 @@ static int read_header_openmpt(AVFormatContext *s)
|
||||
if (!buf)
|
||||
return AVERROR(ENOMEM);
|
||||
size = avio_read(s->pb, buf, size);
|
||||
if (size < 0) {
|
||||
av_log(s, AV_LOG_ERROR, "Reading input buffer failed.\n");
|
||||
av_freep(&buf);
|
||||
return size;
|
||||
}
|
||||
|
||||
openmpt->module = openmpt_module_create_from_memory(buf, size, openmpt_logfunc, s, NULL);
|
||||
av_freep(&buf);
|
||||
|
Reference in New Issue
Block a user