Repository: qpid-proton Updated Branches: refs/heads/master 49c005b30 -> 205ba181b
PROTON-822: fixed ssl domain memory leaks Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/7f6442c6 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/7f6442c6 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/7f6442c6 Branch: refs/heads/master Commit: 7f6442c6a0a4cd34e3f1561c62aabc72b3736d88 Parents: 49c005b Author: Rafael Schloming <r...@alum.mit.edu> Authored: Wed Feb 18 00:41:26 2015 -0500 Committer: Rafael Schloming <r...@alum.mit.edu> Committed: Wed Feb 18 00:44:57 2015 -0500 ---------------------------------------------------------------------- proton-c/bindings/python/proton/__init__.py | 3 +++ proton-c/src/messenger/messenger.c | 4 ++++ 2 files changed, 7 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/7f6442c6/proton-c/bindings/python/proton/__init__.py ---------------------------------------------------------------------- diff --git a/proton-c/bindings/python/proton/__init__.py b/proton-c/bindings/python/proton/__init__.py index 022ac5d..7f14650 100644 --- a/proton-c/bindings/python/proton/__init__.py +++ b/proton-c/bindings/python/proton/__init__.py @@ -3304,6 +3304,9 @@ class SSLDomain(object): def allow_unsecured_client(self): return self._check( pn_ssl_domain_allow_unsecured_client(self._domain) ) + def __del__(self): + pn_ssl_domain_free(self._domain) + class SSL(object): @staticmethod http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/7f6442c6/proton-c/src/messenger/messenger.c ---------------------------------------------------------------------- diff --git a/proton-c/src/messenger/messenger.c b/proton-c/src/messenger/messenger.c index b7e1f53..161185e 100644 --- a/proton-c/src/messenger/messenger.c +++ b/proton-c/src/messenger/messenger.c @@ -887,6 +887,7 @@ static int pn_transport_config(pn_messenger_t *messenger, messenger->private_key, messenger->password); if (err) { + pn_ssl_domain_free(d); pn_error_report("CONNECTION", "invalid credentials"); return err; } @@ -894,17 +895,20 @@ static int pn_transport_config(pn_messenger_t *messenger, if (messenger->trusted_certificates) { int err = pn_ssl_domain_set_trusted_ca_db(d, messenger->trusted_certificates); if (err) { + pn_ssl_domain_free(d); pn_error_report("CONNECTION", "invalid certificate db"); return err; } err = pn_ssl_domain_set_peer_authentication( d, messenger->ssl_peer_authentication_mode, NULL); if (err) { + pn_ssl_domain_free(d); pn_error_report("CONNECTION", "error configuring ssl to verify peer"); } } else { int err = pn_ssl_domain_set_peer_authentication(d, PN_SSL_ANONYMOUS_PEER, NULL); if (err) { + pn_ssl_domain_free(d); pn_error_report("CONNECTION", "error configuring ssl for anonymous peer"); return err; } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org