src/os/unix/ngx_readv_chain.c:195: error: Null Dereference
  pointer `iov` last assigned on line 182 could be null and is dereferenced at line 195, column 13.

src/os/unix/ngx_readv_chain.c:171:1: start of procedure ngx_readv_chain()
169. #else /* ! NGX_HAVE_KQUEUE */
170. 
171. ssize_t
     ^
172. ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *chain)
173. {

src/os/unix/ngx_readv_chain.c:181:5: 
179.     struct iovec  *iov, iovs[NGX_IOVS];
180. 
181.     prev = NULL;
         ^
182.     iov = NULL;
183.     size = 0;

src/os/unix/ngx_readv_chain.c:182:5: 
180. 
181.     prev = NULL;
182.     iov = NULL;
         ^
183.     size = 0;
184. 

src/os/unix/ngx_readv_chain.c:183:5: 
181.     prev = NULL;
182.     iov = NULL;
183.     size = 0;
         ^
184. 
185.     vec.elts = iovs;

src/os/unix/ngx_readv_chain.c:185:5: 
183.     size = 0;
184. 
185.     vec.elts = iovs;
         ^
186.     vec.nelts = 0;
187.     vec.size = sizeof(struct iovec);

src/os/unix/ngx_readv_chain.c:186:5: 
184. 
185.     vec.elts = iovs;
186.     vec.nelts = 0;
         ^
187.     vec.size = sizeof(struct iovec);
188.     vec.nalloc = NGX_IOVS;

src/os/unix/ngx_readv_chain.c:187:5: 
185.     vec.elts = iovs;
186.     vec.nelts = 0;
187.     vec.size = sizeof(struct iovec);
         ^
188.     vec.nalloc = NGX_IOVS;
189.     vec.pool = c->pool;

src/os/unix/ngx_readv_chain.c:188:5: 
186.     vec.nelts = 0;
187.     vec.size = sizeof(struct iovec);
188.     vec.nalloc = NGX_IOVS;
         ^
189.     vec.pool = c->pool;
190. 

src/os/unix/ngx_readv_chain.c:189:5: 
187.     vec.size = sizeof(struct iovec);
188.     vec.nalloc = NGX_IOVS;
189.     vec.pool = c->pool;
         ^
190. 
191.     /* coalesce the neighbouring bufs */

src/os/unix/ngx_readv_chain.c:193:12: Loop condition is true. Entering loop body
191.     /* coalesce the neighbouring bufs */
192. 
193.     while (chain) {
                ^
194.         if (prev == chain->buf->last) {
195.             iov->iov_len += chain->buf->end - chain->buf->last;

src/os/unix/ngx_readv_chain.c:194:13: Taking true branch
192. 
193.     while (chain) {
194.         if (prev == chain->buf->last) {
                 ^
195.             iov->iov_len += chain->buf->end - chain->buf->last;
196. 

src/os/unix/ngx_readv_chain.c:195:13: 
193.     while (chain) {
194.         if (prev == chain->buf->last) {
195.             iov->iov_len += chain->buf->end - chain->buf->last;
                 ^
196. 
197.         } else {
