Hi,
I have used IBM purify to check my test program which invokes openssl library.
There are some memory leaks reported by Purify, please see below. Could
somebody point to me from which function those leaks were generated, and how to
avoid those leaks? Thanks, Bob
MLK: 1104 bytes leaked in 46 blocks
This memory was allocated from:
malloc [rtlib.o]
CRYPTO_malloc [libcrypto.so.1.0.0]
ASN1_STRING_type_new [libcrypto.so.1.0.0]
ASN1_primitive_new [libcrypto.so.1.0.0]
asn1_item_ex_combine_new [libcrypto.so.1.0.0]
asn1_item_ex_combine_new [libcrypto.so.1.0.0]
ASN1_item_ex_d2i [libcrypto.so.1.0.0]
asn1_template_noexp_d2i [libcrypto.so.1.0.0]
Block of 24 bytes (46 times); last block at 0x2aaaac0f7218
MLK: 836 bytes leaked in 2 blocks
This memory was allocated from:
malloc [rtlib.o]
CRYPTO_malloc [libcrypto.so.1.0.0]
asn1_enc_save [libcrypto.so.1.0.0]
ASN1_item_ex_d2i [libcrypto.so.1.0.0]
asn1_template_noexp_d2i [libcrypto.so.1.0.0]
asn1_template_ex_d2i [libcrypto.so.1.0.0]
ASN1_item_ex_d2i [libcrypto.so.1.0.0]
ASN1_item_d2i [libcrypto.so.1.0.0]
Block of 432 bytes at 0x2aaaac093668
Block of 404 bytes at 0x2aaaac009d58
MLK: 800 bytes leaked in 20 blocks
This memory was allocated from:
malloc [rtlib.o]
CRYPTO_malloc [libcrypto.so.1.0.0]
ASN1_OBJECT_new [libcrypto.so.1.0.0]
c2i_ASN1_OBJECT [libcrypto.so.1.0.0]
asn1_ex_c2i [libcrypto.so.1.0.0]
asn1_d2i_ex_primitive [libcrypto.so.1.0.0]
ASN1_item_ex_d2i [libcrypto.so.1.0.0]
asn1_template_noexp_d2i [libcrypto.so.1.0.0]
Block of 40 bytes (20 times); last block at 0x2aaaac097a78
MLK: 600 bytes leaked in 15 blocks
This memory was allocated from:
malloc [rtlib.o]
CRYPTO_malloc [libcrypto.so.1.0.0]
asn1_item_ex_combine_new [libcrypto.so.1.0.0]
ASN1_item_ex_d2i [libcrypto.so.1.0.0]
asn1_template_noexp_d2i [libcrypto.so.1.0.0]
asn1_template_ex_d2i [libcrypto.so.1.0.0]
ASN1_item_ex_d2i [libcrypto.so.1.0.0]
asn1_template_noexp_d2i [libcrypto.so.1.0.0]
Block of 40 bytes (15 times); last block at 0x2aaaac0f6e98
MLK: 376 bytes leaked in 33 blocks
This memory was allocated from:
malloc [rtlib.o]
CRYPTO_malloc [libcrypto.so.1.0.0]
ASN1_STRING_set [libcrypto.so.1.0.0]
asn1_ex_c2i [libcrypto.so.1.0.0]
asn1_d2i_ex_primitive [libcrypto.so.1.0.0]
ASN1_item_ex_d2i [libcrypto.so.1.0.0]
asn1_template_noexp_d2i [libcrypto.so.1.0.0]
asn1_template_ex_d2i [libcrypto.so.1.0.0]
Block of 14 bytes (21 times); last block at 0x2aaaac0f7168
Block of 12 bytes (2 times); last block at 0x2aaaac096828
Block of 11 bytes (2 times); last block at 0x2aaaac096338
Block of 5 bytes (6 times); last block at 0x2aaaac0976f8
Block of 3 bytes (2 times); last block at 0x2aaaac095e58
.
.
.