Added clamp of qindex to valid range
The qindex for a segment was not clamped in ABSDATA mode, which may cause invalid memory access if an ill-formed stream has a negative value in ABSDATA mode. This commit added clamp to make sure qindex for a segment always fall into valid range. Change-Id: I0a74d00f4ef40aec7edaeca1d03c8645e23ab08c
This commit is contained in:
Родитель
4b3e44f91d
Коммит
e22b12e304
|
@ -134,9 +134,9 @@ int vp9_get_qindex(const struct segmentation *seg, int segment_id,
|
|||
int base_qindex) {
|
||||
if (vp9_segfeature_active(seg, segment_id, SEG_LVL_ALT_Q)) {
|
||||
const int data = vp9_get_segdata(seg, segment_id, SEG_LVL_ALT_Q);
|
||||
return seg->abs_delta == SEGMENT_ABSDATA ?
|
||||
data : // Abs value
|
||||
clamp(base_qindex + data, 0, MAXQ); // Delta value
|
||||
const int seg_qindex = seg->abs_delta == SEGMENT_ABSDATA ?
|
||||
data : base_qindex + data;
|
||||
return clamp(seg_qindex, 0, MAXQ);
|
||||
} else {
|
||||
return base_qindex;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче