ファイルのMD5を計算する必要のあるアプリケーションがあり、opensslライブラリを使用しましたが、valgrindはまだ到達可能ないくつかのブロックについて文句を言います。
次のコードをコンパイルします。
#include <openssl/bio.h>
int main(int, char**)
{
BIO * mem = BIO_new(BIO_s_mem());
BIO_vfree(mem);
return 0;
}
valgrindを使用して実行します。これが私が取得しているものです。
==23597== 220 bytes in 6 blocks are still reachable in loss record 1 of 1
==23597== at 0x4022D78: malloc (vg_replace_malloc.c:207)
==23597== by 0x432FD0D: (within /usr/lib/i686/cmov/libcrypto.so.0.9.8)
==23597== by 0x433036E: CRYPTO_malloc (in /usr/lib/i686/cmov/libcrypto.so.0.9.8)
==23597== by 0x43989C9: lh_new (in /usr/lib/i686/cmov/libcrypto.so.0.9.8)
==23597== by 0x4332025: (within /usr/lib/i686/cmov/libcrypto.so.0.9.8)
==23597== by 0x433249B: (within /usr/lib/i686/cmov/libcrypto.so.0.9.8)
==23597== by 0x4332B5D: CRYPTO_new_ex_data (in /usr/lib/i686/cmov/libcrypto.so.0.9.8)
==23597== by 0x438E053: BIO_set (in /usr/lib/i686/cmov/libcrypto.so.0.9.8)
==23597== by 0x438E0E9: BIO_new (in /usr/lib/i686/cmov/libcrypto.so.0.9.8)
==23597== by 0x80485E1: main (in /home/kalman/cxx_test/md5test/a.out)
誰もが同じ経験をしましたか?