• Antonio Ospite's avatar
    x11grab: fix a memory leak exposed by valgrind · d3958ab4
    Antonio Ospite authored
    When using "-f x11grab -i :0.0" valgrind reports a definitely lost
    memory block with this message:
    
    ==31544== 5 bytes in 1 blocks are definitely lost in loss record 1 of 2
    ==31544==    at 0x4026E68: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==31544==    by 0x4026F17: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==31544==    by 0x60D399A: av_malloc (in /usr/lib/x86_64-linux-gnu/libavutil.so.51.22.1)
    ==31544==    by 0x60D3A70: av_strdup (in /usr/lib/x86_64-linux-gnu/libavutil.so.51.22.1)
    ==31544==    by 0x4A2BE58: ??? (in /usr/lib/x86_64-linux-gnu/libavdevice.so.53.2.0)
    ==31544==    by 0x506D29E: avformat_open_input (in /usr/lib/x86_64-linux-gnu/libavformat.so.53.21.0)
    ==31544==    by 0x400A80: main (in /home/ao2/WIP/am7xxx-play/tests/a.out)
    
    The 5 bytes lost are the ones from param = av_strdup(":0.0"), so let's
    free param in the exit path.
    
    Also check the av_strdup() return value.
    
    Note: calling av_free(param) even when av_strdup() fails and param is
    NULL is OK and keeps the code simpler without adding another label to
    skip av_free().
    Signed-off-by: 's avatarRonald S. Bultje <rsbultje@gmail.com>
    d3958ab4
Name
Last commit
Last update
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavutil Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
Doxyfile Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README Loading commit data...
RELEASE Loading commit data...
avconv.c Loading commit data...
avplay.c Loading commit data...
avprobe.c Loading commit data...
avserver.c Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...