• Dridi Boukelmoune's avatar
    vslc: Plug mmap file descriptor leak · e3e2ef33
    Dridi Boukelmoune authored
    To be consistent with how the file cursor behaves, the close_fd field is
    duplicated in the mmap cursor. If a VUT replaces stdin's file descriptor
    with a regular file's fd using dup2(2), we don't want to close it just
    because we managed to mmap(2) it.
    
    For some reason we don't use the closefd() macro in the VSL cursor code,
    potentially to avoid its underlying assertion in libvarnishapi.
    
    On the other hand we do use it in other places:
    
        $ git grep -l closefd -- lib/libvarnishapi/
        lib/libvarnishapi/daemon.c
        lib/libvarnishapi/vsm.c
    
    So maybe in a subsequent change `(void)close(fd)` statements could turn
    into `closefd(&fd)` in vsl_cursor.c to harden those code paths as well.
    e3e2ef33
Name
Last commit
Last update
.circleci Loading commit data...
.github Loading commit data...
bin Loading commit data...
contrib Loading commit data...
doc Loading commit data...
etc Loading commit data...
include Loading commit data...
lib Loading commit data...
m4 Loading commit data...
man Loading commit data...
tools Loading commit data...
vmod Loading commit data...
.dir-locals.el Loading commit data...
.gitignore Loading commit data...
.lgtm.yml Loading commit data...
.syntastic_c_config Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING Loading commit data...
ChangeLog Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile.am Loading commit data...
README.Packaging Loading commit data...
README.rst Loading commit data...
autogen.des Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
flint.lnt Loading commit data...
varnish-legacy.m4 Loading commit data...
varnish.m4 Loading commit data...
varnishapi-uninstalled.pc.in Loading commit data...
varnishapi.pc.in Loading commit data...
vtc.am Loading commit data...
wflags.py Loading commit data...