# HG changeset patch # User Maxim Dounin # Date 1364577659 0 # Node ID 2bdb94e65a4cb90c80def8c407359e459f936c5b # Parent 7f141f99f1cdd2a7bb2b4a3f13bf6e83defdeb70 Merge of r5098: mp4: fixed handling of too small mdat atoms. Mp4: fixed handling of too small mdat atoms (ticket #266). Patch by Gernot Vormayr (with minor changes). diff --git a/src/http/modules/ngx_http_mp4_module.c b/src/http/modules/ngx_http_mp4_module.c --- a/src/http/modules/ngx_http_mp4_module.c +++ b/src/http/modules/ngx_http_mp4_module.c @@ -750,6 +750,13 @@ ngx_http_mp4_process(ngx_http_mp4_file_t *prev = &mp4->mdat_atom; + if (start_offset > mp4->mdat_data.buf->file_last) { + ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, + "start time is out mp4 mdat atom in \"%s\"", + mp4->file.name.data); + return NGX_ERROR; + } + adjustment = mp4->ftyp_size + mp4->moov_size + ngx_http_mp4_update_mdat_atom(mp4, start_offset) - start_offset;