Ken Giusti created PROTON-2851:
----------------------------------

             Summary: crash in pn_tls_start() if pn_tls_config_t freed after 
call to pn_tls()
                 Key: PROTON-2851
                 URL: https://issues.apache.org/jira/browse/PROTON-2851
             Project: Qpid Proton
          Issue Type: Bug
          Components: proton-c
    Affects Versions: proton-c-0.40.0
            Reporter: Ken Giusti


Probably not a realistic use-case but freeing the pn_tls_config_t instance 
after creating a pn_tls_t using it can crash:

 

{{int main(int argc, char *argv[])}}
{{{}}
{{    pn_tls_config_t *tls_conf = pn_tls_config(PN_TLS_MODE_CLIENT);}}
{{    pn_tls_t *tls_session = pn_tls(tls_conf);}}
{{    pn_tls_config_free(tls_conf);}}
{{    int rc = pn_tls_start(tls_session);}}
{{    if (rc != 0) {}}
{{        fprintf(stderr, "Failed to start TLS session (%d)\n", rc);}}
{{        return 1;}}
{{    }}}
{{    return 0;}}
{{}}}

{{Program terminated with signal SIGSEGV, Segmentation fault.}}
{{#0  SSL_new (ctx=0x26eeba0c) at ssl/ssl_lib.c:692}}
{{692        return ctx->method->ssl_new(ctx);}}
{{(gdb) bt}}
{{#0  SSL_new (ctx=0x26eeba0c) at ssl/ssl_lib.c:692}}
{{#1  0x00007ff5c45b472a in init_ssl_socket (ssl=0x26faf450, domain=0x26e7c6f0) 
at /home/kgiusti/work/proton/qpid-proton/c/src/tls/openssl.c:1222}}
{{#2  0x00007ff5c45b4216 in pni_tls_init (ssl=0x26faf450, domain=0x26e7c6f0, 
unused=0x0) at /home/kgiusti/work/proton/qpid-proton/c/src/tls/openssl.c:1100}}
{{#3  0x00007ff5c45b44a2 in pn_tls_start (tls=0x26faf450) at 
/home/kgiusti/work/proton/qpid-proton/c/src/tls/openssl.c:1148}}
{{#4  0x000000000042f1d4 in main (argc=1, argv=0x7ffc35f79938) at 
/home/kgiusti/tmp/skupper-router/tests/tls_relay.c:1351}}
{{(gdb) p *ctx}}

{{<garbage>}}

 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to