Update chain building function.
[openssl.git] / ssl / ssl_ciph.c
index 33b7d089104b8c620f60dc8b12092482e42868d7..9b37cae38522658752c7d7469760a16d5c2f8c3a 100644 (file)
@@ -1892,9 +1892,23 @@ STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void)
        return(ssl_comp_methods);
        }
 
-void SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP) *meths)
+STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP) *meths)
        {
+       STACK_OF(SSL_COMP) *old_meths = ssl_comp_methods;
        ssl_comp_methods = meths;
+       return old_meths;
+       }
+
+static void cmeth_free(SSL_COMP *cm)
+       {
+       OPENSSL_free(cm);
+       }
+
+void SSL_COMP_free_compression_methods(void)
+       {
+       STACK_OF(SSL_COMP) *old_meths = ssl_comp_methods;
+       ssl_comp_methods = NULL;
+       sk_SSL_COMP_pop_free(old_meths, cmeth_free);
        }
 
 int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm)