krb5-test fails under valgrind
Generating a self signed certificate...
set_subject_alt_name(GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL): Error in parsing.
==14033== 3,406 (72 direct, 3,334 indirect) bytes in 1 blocks are definitely lost in loss record 53 of 58
==14033== at 0x406A1FC: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-ppc64le-linux.so)
==14033== by 0x41065D7: gnutls_privkey_init (privkey.c:323)
==14033== by 0x100138FB: _load_privkey (certtool-common.c:173)
==14033== by 0x10013ED7: load_private_key (certtool-common.c:279)
==14033== by 0x1000A167: generate_certificate (certtool.c:274)
==14033== by 0x1000C503: generate_self_signed (certtool.c:821)
==14033== by 0x10011E57: cmd_parser (certtool.c:1256)
==14033== by 0x100097C7: main (certtool.c:112)
==14033==
In lib/privkey.c
, gnutls_privkey_init()
calloc()s some memory, and gnutls_privkey_deinit()
is tasked with freeing it.
src/certtool-cfg.c:set_krb5_principal()
calls exit(1)
after printing "set_subject_alt_name(GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL): Error in parsing.
", without having called gnutls_privkey_deinit()
gnutls_privkey_init()
is being called from:
(gdb) bt
#0 gnutls_privkey_init (key=<optimized out>) at privkey.c:320
#1 0x00000000100138fc in _load_privkey (dat=0x3fffffffe178, info=<optimized out>) at certtool-common.c:173
#2 0x0000000010013ed8 in load_private_key (mand=<optimized out>, info=0x3fffffffe3f0) at certtool-common.c:279
#3 0x000000001000a168 in generate_certificate (ret_key=0x3fffffffe318, ca_crt=0x0, proxy=0, cinfo=0x3fffffffe3f0) at certtool.c:274
#4 0x000000001000c504 in generate_self_signed (cinfo=0x3fffffffe3f0) at certtool.c:821
#5 0x0000000010011e58 in cmd_parser (argc=8, argv=0x3fffffffea68) at certtool.c:1256
#6 0x00000000100097c8 in main (argc=<optimized out>, argv=0x3fffffffea68) at certtool.c:112
Presumably the error paths should have some clean up before calling exit(1)
. Alternatively, if we don't care about cleaning up on the error paths in test cases, I think we could list the issue in the suppressions.valgrind, but this is the only failure I see out of the whole test suite.