I think SSL_free() also frees the BIO. I spent a day tracking down a similar problem.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Brock Sent: Monday, October 24, 2005 2:37 PM To: openssl-users@openssl.org Subject: Core dump with 0.9.7i Hi, I'm trying to upgrade to 0.9.7i (at this time we can't go to 0.9.8). If I try and connect to a server and the client has a root CA that is different that the server I'm getting the following core dump in the client code: #0 0x081adeac in ?? () (gdb) up #1 0x08088692 in BIO_ctrl (b=0x819a548, cmd=7, larg=0, parg=0x0) at bio_lib.c:324 324 ret=b->method->ctrl(b,cmd,larg,parg); (gdb) where #0 0x081adeac in ?? () #1 0x08088692 in BIO_ctrl (b=0x819a548, cmd=7, larg=0, parg=0x0) at bio_lib.c:324 #2 0x0808b20c in buffer_ctrl (b=0x819b268, cmd=7, num=0, ptr=0x0) at bf_buff.c:432 #3 0x08088692 in BIO_ctrl (b=0x819b268, cmd=7, larg=0, parg=0x0) at bio_lib.c:324 #4 0x080886bd in BIO_pop (b=0x819b268) at bio_lib.c:398 #5 0x08067a4e in SSL_free (s=0x819ae10) at ssl_lib.c:441 The application is running with non-blocking turned on. I'm getting the following error: Error 19:self signed certificate in certificate chain The code looks something like: if ((ret == SSL_connect(ssl)) <= 0) { if ( /* check if time out occurred, if so deal with it */) { ... } else { BIO_free(conn); SSL_free(ssl); /* This frees the underlying connection BIOs */ connection->conn = NULL; } } ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager [EMAIL PROTECTED] ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager [EMAIL PROTECTED]