mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-27 13:10:37 +00:00
genh: prevent overflow during block alignment calculation
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
This commit is contained in:
parent
c4a3526b57
commit
5b0ae88ca6
@ -20,6 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "libavutil/intreadwrite.h"
|
#include "libavutil/intreadwrite.h"
|
||||||
|
#include "libavcodec/internal.h"
|
||||||
#include "avformat.h"
|
#include "avformat.h"
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
|
|
||||||
@ -54,7 +55,7 @@ static int genh_read_header(AVFormatContext *s)
|
|||||||
|
|
||||||
st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
|
st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
|
||||||
st->codecpar->channels = avio_rl32(s->pb);
|
st->codecpar->channels = avio_rl32(s->pb);
|
||||||
if (st->codecpar->channels <= 0)
|
if (st->codecpar->channels <= 0 || st->codecpar->channels > FF_SANE_NB_CHANNELS)
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
if (st->codecpar->channels == 1)
|
if (st->codecpar->channels == 1)
|
||||||
st->codecpar->channel_layout = AV_CH_LAYOUT_MONO;
|
st->codecpar->channel_layout = AV_CH_LAYOUT_MONO;
|
||||||
|
Loading…
Reference in New Issue
Block a user