]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
daemon/tls: fix incorrect freeing
authorOto Šťáva <oto.stava@nic.cz>
Tue, 6 Sep 2022 08:19:05 +0000 (10:19 +0200)
committerOto Šťáva <oto.stava@nic.cz>
Thu, 26 Jan 2023 11:56:08 +0000 (12:56 +0100)
daemon/tls.c

index 720625834441f7b3b34468db56535fc424ea0143..0cfb469670d4f456eee5d7eb5e9247609501af01 100644 (file)
@@ -908,8 +908,11 @@ static int pl_tls_sess_data_deinit(struct pl_tls_sess_data *tls)
                tls->tls_session = NULL;
        }
 
-       tls_client_param_unref(tls->client_params);
-       tls_credentials_release(tls->server_credentials);
+       if (tls->client_side) {
+               tls_client_param_unref(tls->client_params);
+       } else {
+               tls_credentials_release(tls->server_credentials);
+       }
        wire_buf_deinit(&tls->unwrap_buf);
        queue_deinit(tls->unwrap_queue); /* TODO: break contexts? */
        return kr_ok();