Hi there,
I get crashes with APR trunk testcrypto when running with OpenSSL 1.0.2
(at least on Linux).
Here's an example:
*** glibc detected *** ./testall: double free or corruption (!prev):
0x00000000021e2d40 ***
#0 0x0000003906b8cee8 in main_arena () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007ffff762f027 in EVP_CIPHER_CTX_cleanup (c=0x6f4770) at
evp_enc.c:593
No locals.
#2 0x00007ffff762f22e in EVP_CIPHER_CTX_free (ctx=0x6f4770) at
evp_enc.c:584
No locals.
#3 0x00007ffff7953021 in cprng_stream_ctx_free (sctx=0x6f7e30) at
/path/to/apr/trunk/r1893236/crypto/apr_crypto_openssl.c:1544
No locals.
#4 0x00007ffff7da89f6 in cprng_cleanup (arg=0x6f7540) at
/path/to/apr/trunk/r1893236/crypto/apr_crypto_prng.c:253
cprng = 0x6f7540
#5 0x00007ffff7da8e8c in apr_crypto_prng_create (pcprng=0x7ffff7ffb1e8,
crypto=<value optimized out>, cipher=<value optimized out>,
bufsize=<value optimized out>,
flags=1, seed=<value optimized out>, pool=0x6f7458) at
/path/to/apr/trunk/r1893236/crypto/apr_crypto_prng.c:388
rv = <value optimized out>
cprng = 0x6f7540
#6 0x00007ffff7da9268 in apr_crypto_prng_init (pool=0x6f7458,
crypto=0x0, cipher=APR_CRYPTO_CIPHER_CHACHA20, bufsize=0, seed=<value
optimized out>,
flags=<value optimized out>) at
/path/to/apr/trunk/r1893236/crypto/apr_crypto_prng.c:174
rv = 0
#7 0x000000000042fefa in test_crypto_prng (tc=0x7fffffffe340,
cipher=APR_CRYPTO_CIPHER_CHACHA20,
test_PRNG_kat0=0x44e320
"\260\375\024\377\226\240\275\241T\303)\b,\234e3\273L\224s\277]\336\023\217\202ɬUS\331X\257\275\255(E\271<۲\376dc\322\376\026*\332\340\366\346v\360IB\030\365\316\005\226\347\237\\U\032\252\233\244o\252\325(\366v=ޓ\300?\243\261!\262\377\300S:i^\325n\217\332\005\211\242\355\353\372\324\256\323\065|z\255\255\223(\002{\270y\265WG\227\241\267=\316|П$Q\001y\004*3\372A\032\067\227:\354\240\374\336k+\026\244_\241*\343\365L\204(\203\353`\316D\351\234L\242np\314&h\370\231Z\241\237ޙ\271\200\v\266\203\024\235r\223\364\321I\363\360\236I\200v\204\001\036y\236pp"...)
at /path/to/apr/trunk/r1893236/test/testcrypto.c:2457
randbytes =
"p\002C\000\000\000\000\000\210\357\204\006\071\000\000\000\030\000\000\000\060\000\000\000\060\343\377\377\377\177\000\000p\342\377\377\377\177\000\000\276\367\272\311!\002\207w\256\277\312)\340\224\202I\213\375_\004\255\355\061M/\000\000\000\000\000\000\000\001",
'\000' <repeats 15 times>,
"\005\000\000\000\000\000\000\000ACEGIKMOQSUWY[]_acegikmo\243\023\207\006\071\000\000"
seed =
"\000\000\000\000\000\000\000\000\200\267\270\006\071\000\000\000\002\000\000\000\000\000\000\000\000\320\330\367\377\177\000"
cprng = 0x0
pool = 0x6f7458
rv = <value optimized out>
i = <value optimized out>
flags = 2
#8 0x000000000040c9c9 in abts_run_test (ts=<value optimized out>,
f=0x430270 <test_crypto_prng_chacha20>, value=0x0)
at /path/to/apr/trunk/r1893236/test/abts.c:192
tc = {failed = 0, skipped = 0, suite = 0x6cc1c0}
ss = 0x6cc1c0
#9 0x000000000042f783 in testcrypto (suite=0x6c91a0) at
/path/to/apr/trunk/r1893236/test/testcrypto.c:2772
Best regards,
Rainer