view src/os/unix/ngx_freebsd.h @ 7400:be5cb9c67c05

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.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 21 Nov 2018 20:23:16 +0300
parents d620f497c50f
children
line wrap: on
line source


/*
 * Copyright (C) Igor Sysoev
 * Copyright (C) Nginx, Inc.
 */


#ifndef _NGX_FREEBSD_H_INCLUDED_
#define _NGX_FREEBSD_H_INCLUDED_


void ngx_debug_init(void);
ngx_chain_t *ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in,
    off_t limit);

extern int         ngx_freebsd_kern_osreldate;
extern int         ngx_freebsd_hw_ncpu;
extern u_long      ngx_freebsd_net_inet_tcp_sendspace;

extern ngx_uint_t  ngx_freebsd_sendfile_nbytes_bug;
extern ngx_uint_t  ngx_freebsd_use_tcp_nopush;
extern ngx_uint_t  ngx_debug_malloc;


#endif /* _NGX_FREEBSD_H_INCLUDED_ */