1. 05 Dec, 2022 2 commits
    • Dridi Boukelmoune's avatar
      acceptor: Address false positive in Coverity Scan · 4e4d66b3
      Dridi Boukelmoune authored
      Upon success we expect a non-null pointer, and to make sure this is not
      residual uninitialized stack memory, it is null'd beforehand.
      
          /bin/varnishd/cache/cache_acceptor.c: 375 in vca_mk_tcp()
          369     {
          370             struct suckaddr *sa;
          371             ssize_t sz;
          372
          373             AN(SES_Reserve_remote_addr(sp, &sa, &sz));
          374             assert(sz == vsa_suckaddr_len);
          >>>     CID 1517259:  Resource leaks  (RESOURCE_LEAK)
          >>>     Failing to save or free storage allocated by "VSA_Build(sa, &wa->acceptaddr, wa->acceptaddrlen)" leaks it.
          375             AN(VSA_Build(sa, &wa->acceptaddr, wa->acceptaddrlen));
          376             sp->sattr[SA_CLIENT_ADDR] = sp->sattr[SA_REMOTE_ADDR];
      
      It is precisely because we reserve the space to store the built suckaddr
      that there won't be a malloc() call made behind our back.
      
      For some reason, it only complained about one call site.
      4e4d66b3
    • Dridi Boukelmoune's avatar
      0dcdb507
  2. 30 Nov, 2022 6 commits
  3. 29 Nov, 2022 2 commits
  4. 28 Nov, 2022 10 commits
  5. 26 Nov, 2022 2 commits
  6. 25 Nov, 2022 2 commits
  7. 22 Nov, 2022 2 commits
    • Dridi Boukelmoune's avatar
      vtc_gzip: Add the payload length in error messages · 647e1f2a
      Dridi Boukelmoune authored
      As a convenience, the error message includes the actual total length
      of data being g[un]zipped, in addition to the total_in amount of data
      processed so far.
      647e1f2a
    • 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
  8. 21 Nov, 2022 11 commits
  9. 20 Nov, 2022 1 commit
  10. 16 Nov, 2022 2 commits