History

avcodec/rv60dec: clear pu_info

pu_info is read uninitialized on damaged input and at that point the following codepath is dependant on the uninitialized data. In one of these pathes out of array accesses happen. None of this is replicatable Less uninitialized data also should result in more reproducable reports Fixes: Use of uninitialized memory Fixes: 418335931/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RV60_fuzzer-5103986067963904

Michael Niedermayer committed 1 year ago

Commit e97babf1 parent 9bc89a21 file · +2 −0Browse files

Unified · Split

libavcodec/rv60dec.c+2−0
@@ -308,6 +308,8 @@ static int update_dimensions_clear_info(RV60Context *s, int width, int height) · 307 unmodified lines
308308 if ((ret = av_reallocp_array(&s->blk_info, s->blk_stride * (s->cu_height << 4), sizeof(s->blk_info[0]))) < 0)
309309 return ret;
310310
311+ memset(s->pu_info, 0, s->pu_stride * (s->cu_height << 3) * sizeof(s->pu_info[0]));
312+
311313 for (int j = 0; j < s->cu_height << 4; j++)
312314 for (int i = 0; i < s->cu_width << 4; i++)
313315 s->blk_info[j*s->blk_stride + i].mv.mvref = MVREF_NONE;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t