avcodec/xiph: Return better error codes
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
b7d334e7b6
commit
6fb79c1af5
@ -35,7 +35,7 @@ int avpriv_split_xiph_headers(const uint8_t *extradata, int extradata_size,
|
|||||||
header_start[i] = extradata;
|
header_start[i] = extradata;
|
||||||
extradata += header_len[i];
|
extradata += header_len[i];
|
||||||
if (overall_len > extradata_size - header_len[i])
|
if (overall_len > extradata_size - header_len[i])
|
||||||
return -1;
|
return AVERROR_INVALIDDATA;
|
||||||
overall_len += header_len[i];
|
overall_len += header_len[i];
|
||||||
}
|
}
|
||||||
} else if (extradata_size >= 3 && extradata_size < INT_MAX - 0x1ff && extradata[0] == 2) {
|
} else if (extradata_size >= 3 && extradata_size < INT_MAX - 0x1ff && extradata[0] == 2) {
|
||||||
@ -50,7 +50,7 @@ int avpriv_split_xiph_headers(const uint8_t *extradata, int extradata_size,
|
|||||||
header_len[i] += *extradata;
|
header_len[i] += *extradata;
|
||||||
overall_len += *extradata;
|
overall_len += *extradata;
|
||||||
if (overall_len > extradata_size)
|
if (overall_len > extradata_size)
|
||||||
return -1;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
header_len[2] = extradata_size - overall_len;
|
header_len[2] = extradata_size - overall_len;
|
||||||
header_start[0] = extradata;
|
header_start[0] = extradata;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user