]> git.kaiwu.me - nginx.git/commit
Mp4: fixed possible pointer overflow on 32-bit platforms.
authorMaxim Dounin <mdounin@mdounin.ru>
Wed, 21 Nov 2018 17:23:16 +0000 (20:23 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Wed, 21 Nov 2018 17:23:16 +0000 (20:23 +0300)
commit58b551612935acfa48bd65777ea6a18336a7e5bf
tree718cc6fd9a2c41ae0871337e2d4abfdc20b9ce25
parent04618d00e0775b78ca3349da54366d7bcb4d1774
Mp4: fixed possible pointer overflow on 32-bit platforms.

On 32-bit platforms mp4->buffer_pos might overflow when a large
enough (close to 4 gigabytes) atom is being skipped, resulting in
incorrect memory addesses being read further in the code.  In most
cases this results in harmless errors being logged, though may also
result in a segmentation fault if hitting unmapped pages.

To address this, ngx_mp4_atom_next() now only increments mp4->buffer_pos
up to mp4->buffer_end.  This ensures that overflow cannot happen.
src/http/modules/ngx_http_mp4_module.c