• Ulrich Sibiller's avatar
    os/io.c: fix unitialised bytes · e5975a70
    Ulrich Sibiller authored
    ... by implementing some kind of recalloc (mix of realloc and calloc).
    
    Fixes this valgrind finding:
    
    ==7061== Syscall param writev(vector[...]) points to uninitialised byte(s)
    ==7061==    at 0x781EFE0: __writev_nocancel (syscall-template.S:84)
    ==7061==    by 0x488974: _XSERVTransSocketWritev (Xtranssock.c:2914)
    ==7061==    by 0x47DBD3: FlushClient (io.c:1080)
    ==7061==    by 0x47DBD3: FlushAllOutput.part.0 (io.c:817)
    ==7061==    by 0x477304: WaitForSomething (WaitFor.c:246)
    ==7061==    by 0x434369: Dispatch (NXdispatch.c:360)
    ==7061==    by 0x40EB92: main (main.c:353)
    ==7061==  Address 0x102106f3 is 50,211 bytes inside a block of size 54,308 alloc'd
    ==7061==    at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==7061==    by 0x47F08F: FlushClient (io.c:1123)
    ==7061==    by 0x47F307: WriteToClient (io.c:991)
    ==7061==    by 0x42903C: doListFontsAndAliases (NXdixfonts.c:660)
    ==7061==    by 0x42B7D6: ListFonts (NXdixfonts.c:735)
    ==7061==    by 0x433A6D: ProcListFonts (NXdispatch.c:989)
    ==7061==    by 0x4344A5: Dispatch (NXdispatch.c:482)
    ==7061==    by 0x40EB92: main (main.c:353)
    ==7061==  Uninitialised value was created by a heap allocation
    ==7061==    at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==7061==    by 0x47F08F: FlushClient (io.c:1123)
    ==7061==    by 0x47F307: WriteToClient (io.c:991)
    ==7061==    by 0x42903C: doListFontsAndAliases (NXdixfonts.c:660)
    ==7061==    by 0x42B7D6: ListFonts (NXdixfonts.c:735)
    ==7061==    by 0x433A6D: ProcListFonts (NXdispatch.c:989)
    ==7061==    by 0x4344A5: Dispatch (NXdispatch.c:482)
    ==7061==    by 0x40EB92: main (main.c:353)
    ==7061==
    e5975a70
Name
Last commit
Last update
debian Loading commit data...
doc Loading commit data...
etc Loading commit data...
m4 Loading commit data...
nx-X11 Loading commit data...
nxcomp Loading commit data...
nxcompshad Loading commit data...
nxproxy Loading commit data...
testscripts Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
LICENSE Loading commit data...
LICENSE.nxcomp Loading commit data...
Makefile Loading commit data...
README.NX-development Loading commit data...
README.md Loading commit data...
VERSION Loading commit data...
fix-patch-whitespace Loading commit data...
make-changelog.sh Loading commit data...
mesa-quilt Loading commit data...
nx-libs.spec Loading commit data...
regenerate-symbol-docs.sh Loading commit data...
replace.sh Loading commit data...
roll-tarballs.sh Loading commit data...
version.sh Loading commit data...