mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-01-17 13:25:31 -07:00
We create a gnutls_x509_privkey_t in test_tls_init(), but forget
to deinit it in test_tls_cleanup(), resulting in leaks
reported in hte migration test such as:
Indirect leak of 8 byte(s) in 1 object(s) allocated from:
#0 0x55fa6d11c12e in malloc (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/asan/tests/qtest/migration-test+0x22f12e) (BuildId: 852a267993587f557f50e5715f352f43720077ba)
#1 0x7f073982685d in __gmp_default_allocate (/lib/x86_64-linux-gnu/libgmp.so.10+0xa85d) (BuildId: f110719303ddbea25a5e89ff730fec520eed67b0)
#2 0x7f0739836193 in __gmpz_realloc (/lib/x86_64-linux-gnu/libgmp.so.10+0x1a193) (BuildId: f110719303ddbea25a5e89ff730fec520eed67b0)
#3 0x7f0739836594 in __gmpz_import (/lib/x86_64-linux-gnu/libgmp.so.10+0x1a594) (BuildId: f110719303ddbea25a5e89ff730fec520eed67b0)
#4 0x7f07398a91ed in nettle_mpz_set_str_256_u (/lib/x86_64-linux-gnu/libhogweed.so.6+0xb1ed) (BuildId: 3cc4a3474de72db89e9dcc93bfb95fe377f48c37)
#5 0x7f073a146a5a (/lib/x86_64-linux-gnu/libgnutls.so.30+0x131a5a) (BuildId: 97b8f99f392f1fd37b969a7164bcea884e23649b)
#6 0x7f073a07192c (/lib/x86_64-linux-gnu/libgnutls.so.30+0x5c92c) (BuildId: 97b8f99f392f1fd37b969a7164bcea884e23649b)
#7 0x7f073a078333 (/lib/x86_64-linux-gnu/libgnutls.so.30+0x63333) (BuildId: 97b8f99f392f1fd37b969a7164bcea884e23649b)
#8 0x7f073a0e8353 (/lib/x86_64-linux-gnu/libgnutls.so.30+0xd3353) (BuildId: 97b8f99f392f1fd37b969a7164bcea884e23649b)
#9 0x7f073a0ef0ac in gnutls_x509_privkey_import (/lib/x86_64-linux-gnu/libgnutls.so.30+0xda0ac) (BuildId: 97b8f99f392f1fd37b969a7164bcea884e23649b)
#10 0x55fa6d2547e3 in test_tls_load_key tests/unit/crypto-tls-x509-helpers.c:99:11
#11 0x55fa6d25460c in test_tls_init tests/unit/crypto-tls-x509-helpers.c:128:15
#12 0x55fa6d2495c4 in test_migrate_tls_x509_start_common tests/qtest/migration-test.c:1044:5
#13 0x55fa6d24c23a in test_migrate_tls_x509_start_reject_anon_client tests/qtest/migration-test.c:1216:12
#14 0x55fa6d23fb40 in test_precopy_common tests/qtest/migration-test.c:1789:21
#15 0x55fa6d236b7c in test_precopy_tcp_tls_x509_reject_anon_client tests/qtest/migration-test.c:2614:5
(Oddly, there is no reported leak in the x509 unit tests, even though
those also use test_tls_init() and test_tls_cleanup().)
Deinit the privkey in test_tls_cleanup().
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
|
||
|---|---|---|
| .. | ||
| check-block-qdict.c | ||
| check-qdict.c | ||
| check-qjson.c | ||
| check-qlist.c | ||
| check-qlit.c | ||
| check-qnull.c | ||
| check-qnum.c | ||
| check-qobject.c | ||
| check-qom-interface.c | ||
| check-qom-proplist.c | ||
| check-qstring.c | ||
| crypto-tls-psk-helpers.c | ||
| crypto-tls-psk-helpers.h | ||
| crypto-tls-x509-helpers.c | ||
| crypto-tls-x509-helpers.h | ||
| io-channel-helpers.c | ||
| io-channel-helpers.h | ||
| iothread.c | ||
| iothread.h | ||
| meson.build | ||
| pkix_asn1_tab.c.inc | ||
| ptimer-test-stubs.c | ||
| ptimer-test.c | ||
| ptimer-test.h | ||
| rcutorture.c | ||
| socket-helpers.c | ||
| socket-helpers.h | ||
| test-aio-multithread.c | ||
| test-aio.c | ||
| test-authz-list.c | ||
| test-authz-listfile.c | ||
| test-authz-pam.c | ||
| test-authz-simple.c | ||
| test-base64.c | ||
| test-bdrv-drain.c | ||
| test-bdrv-graph-mod.c | ||
| test-bitcnt.c | ||
| test-bitmap.c | ||
| test-bitops.c | ||
| test-block-backend.c | ||
| test-block-iothread.c | ||
| test-blockjob-txn.c | ||
| test-blockjob.c | ||
| test-bufferiszero.c | ||
| test-char.c | ||
| test-clone-visitor.c | ||
| test-coroutine.c | ||
| test-crypto-afsplit.c | ||
| test-crypto-akcipher.c | ||
| test-crypto-block.c | ||
| test-crypto-cipher.c | ||
| test-crypto-der.c | ||
| test-crypto-hash.c | ||
| test-crypto-hmac.c | ||
| test-crypto-ivgen.c | ||
| test-crypto-pbkdf.c | ||
| test-crypto-secret.c | ||
| test-crypto-tlscredsx509.c | ||
| test-crypto-tlssession.c | ||
| test-crypto-xts.c | ||
| test-cutils.c | ||
| test-div128.c | ||
| test-error-report.c | ||
| test-forward-visitor.c | ||
| test-hbitmap.c | ||
| test-image-locking.c | ||
| test-int128.c | ||
| test-interval-tree.c | ||
| test-io-channel-buffer.c | ||
| test-io-channel-command.c | ||
| test-io-channel-file.c | ||
| test-io-channel-null.c | ||
| test-io-channel-socket.c | ||
| test-io-channel-tls.c | ||
| test-io-task.c | ||
| test-iov.c | ||
| test-keyval.c | ||
| test-logging.c | ||
| test-mul64.c | ||
| test-nested-aio-poll.c | ||
| test-opts-visitor.c | ||
| test-qapi-util.c | ||
| test-qdev-global-props.c | ||
| test-qdist.c | ||
| test-qemu-opts.c | ||
| test-qga.c | ||
| test-qgraph.c | ||
| test-qht.c | ||
| test-qmp-cmds.c | ||
| test-qmp-event.c | ||
| test-qobject-input-visitor.c | ||
| test-qobject-output-visitor.c | ||
| test-qtree.c | ||
| test-rcu-list.c | ||
| test-rcu-simpleq.c | ||
| test-rcu-slist.c | ||
| test-rcu-tailq.c | ||
| test-replication.c | ||
| test-resv-mem.c | ||
| test-seccomp.c | ||
| test-shift128.c | ||
| test-smp-parse.c | ||
| test-string-input-visitor.c | ||
| test-string-output-visitor.c | ||
| test-thread-pool.c | ||
| test-throttle.c | ||
| test-timed-average.c | ||
| test-util-filemonitor.c | ||
| test-util-sockets.c | ||
| test-uuid.c | ||
| test-virtio-dmabuf.c | ||
| test-visitor-serialization.c | ||
| test-vmstate.c | ||
| test-write-threshold.c | ||
| test-x86-topo.c | ||
| test-xbzrle.c | ||
| test-xs-node.c | ||
| test-yank.c | ||