* commit 'f7986239f4dbec91c743c4c5eb0a2339bd325bf6': dvenc: Validate the frame size before copying it
Unified · Split
| @@ -250,6 +250,11 @@ static int dv_assemble_frame(DVMuxContext *c, AVStream* st, · 249 unmodified lines | |||
| 250 | /* FIXME: we have to have more sensible approach than this one */ | 250 | /* FIXME: we have to have more sensible approach than this one */ |
| 251 | if (c->has_video) | 251 | if (c->has_video) |
| 252 | av_log(st->codec, AV_LOG_ERROR, "Can't process DV frame #%d. Insufficient audio data or severe sync problem.\n", c->frames); | 252 | av_log(st->codec, AV_LOG_ERROR, "Can't process DV frame #%d. Insufficient audio data or severe sync problem.\n", c->frames); |
| 253 | if (data_size != c->sys->frame_size) { | ||
| 254 | av_log(st->codec, AV_LOG_ERROR, "Unexpected frame size, %d != %d\n", | ||
| 255 | data_size, c->sys->frame_size); | ||
| 256 | return AVERROR(ENOSYS); | ||
| 257 | } | ||
| 253 | 258 | ||
| 254 | memcpy(*frame, data, c->sys->frame_size); | 259 | memcpy(*frame, data, c->sys->frame_size); |
| 255 | c->has_video = 1; | 260 | c->has_video = 1; |