|
|
|
@@ -124,8 +124,8 @@ static int dsf_read_header(AVFormatContext *s) |
|
|
|
|
|
|
|
dsf->audio_size = avio_rl64(pb) / 8 * st->codecpar->channels; |
|
|
|
st->codecpar->block_align = avio_rl32(pb); |
|
|
|
if (st->codecpar->block_align > INT_MAX / st->codecpar->channels) { |
|
|
|
avpriv_request_sample(s, "block_align overflow"); |
|
|
|
if (st->codecpar->block_align > INT_MAX / st->codecpar->channels || st->codecpar->block_align <= 0) { |
|
|
|
avpriv_request_sample(s, "block_align invalid"); |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
} |
|
|
|
st->codecpar->block_align *= st->codecpar->channels; |
|
|
|
|