OK, I reproduced it: abuild@pmg:~> valgrind --leak-check=full ./rpmbuild/BUILD/gnutls-3.6.7/tests/system-prio-file ==4685== Memcheck, a memory error detector ==4685== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==4685== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info ==4685== Command: ./rpmbuild/BUILD/gnutls-3.6.7/tests/system-prio-file ==4685== ==4685== Invalid write of size 1 ==4685== at 0x526FC10: fmemopen@@GLIBC_2.22 (in /lib64/libc-2.26.so) ==4685== by 0x4E8B004: _gnutls_resolve_priorities (priority.c:1111) ==4685== by 0x10924F: try_prio (system-prio-file.c:50) ==4685== by 0x1092F4: doit (system-prio-file.c:68) ==4685== by 0x1090A3: main (utils.c:248) ==4685== Address 0x6d24eb0 is 0 bytes after a block of size 0 alloc'd ==4685== at 0x4C2E2DF: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==4685== by 0x526FBFF: fmemopen@@GLIBC_2.22 (in /lib64/libc-2.26.so) ==4685== by 0x4E8B004: _gnutls_resolve_priorities (priority.c:1111) ==4685== by 0x10924F: try_prio (system-prio-file.c:50) ==4685== by 0x1092F4: doit (system-prio-file.c:68) ==4685== by 0x1090A3: main (utils.c:248) ==4685== try_prio:55: test: @HELLO1: error; got: @HELLO1, expected: NORMAL ==4685== ==4685== HEAP SUMMARY: ==4685== in use at exit: 88,822 bytes in 664 blocks ==4685== total heap usage: 1,243 allocs, 579 frees, 108,266 bytes allocated ==4685== ==4685== LEAK SUMMARY: ==4685== definitely lost: 0 bytes in 0 blocks ==4685== indirectly lost: 0 bytes in 0 blocks ==4685== possibly lost: 0 bytes in 0 blocks ==4685== still reachable: 88,822 bytes in 664 blocks ==4685== suppressed: 0 bytes in 0 blocks ==4685== Reachable blocks (those to which a pointer was found) are not shown. ==4685== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==4685== ==4685== For lists of detected and suppressed errors, rerun with: -s ==4685== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)