Hi, I'm testing loading a large CRL file into a X509_CRL structure then free it. but after X509_CRL_free, there are still some mysterious memory consumption.
pmap reports that total memory consumption is 105608KB right after the CRL file was loaded, and 88920K after X509_CRL_free was called. here is my test code: // gcc -o a -g a.c // ./a testcrl.pem // the crl file size is about 30M bytes, and itsformat is PEM #include <stdio.h> #include <string.h> #include <sys/time.h> #include <time.h> #include <sys/syslog.h> #include <errno.h> #include <sys/vfs.h> #include <errno.h> #define _GNU_SOURCE 1 #include <math.h> #include <stdlib.h> #include <unistd.h> #include <openssl/objects.h> #include <openssl/evp.h> #include <openssl/x509.h> #include <openssl/bio.h> #include <openssl/pem.h> void test4(const char* filename) { X509_CRL* crl = NULL; BIO* in = NULL; in = BIO_new_file(filename, "r"); if (!in) { return; } crl = PEM_read_bio_X509_CRL(in, NULL, NULL, NULL); if (!crl) { BIO_reset(in); crl = d2i_X509_CRL_bio(in, NULL); } BIO_free(in); ----> // pmap: total 105608K if (crl) { X509_CRL_free(crl); ----> // pmap: total 88920K } } int main(int argc, char* argv[]) { test4(argv[1]); return 0; } I am wondering why not all of the memory are freed, and how can I free those lost memory. Thanks very much. ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org