From 486882a4df3eb33eabb01a1ada34809395a14ff4 Mon Sep 17 00:00:00 2001 From: Ingo Franzki Date: Thu, 15 May 2025 16:58:33 +0200 Subject: [PATCH] libkmipclient: Fix findings from static code checker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Coverity static code checker found a few bugs in the libkmipclient code, fix those. Signed-off-by: Ingo Franzki Reviewed-by: Joerg Schmidbauer Signed-off-by: Jan Höppner --- libkmipclient/attribute.c | 2 +- libkmipclient/kmip.c | 2 +- libkmipclient/request.c | 2 ++ libkmipclient/response.c | 2 +- libkmipclient/tls.c | 1 - 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libkmipclient/attribute.c b/libkmipclient/attribute.c index e0223dc5..989b45b3 100644 --- a/libkmipclient/attribute.c +++ b/libkmipclient/attribute.c @@ -2432,7 +2432,7 @@ out: kmip_node_free(iv); kmip_node_free(tag); kmip_node_free(ffl); - kmip_node_free(ffl); + kmip_node_free(ifl); kmip_node_free(cnt); kmip_node_free(icv); kmip_node_free(salt); diff --git a/libkmipclient/kmip.c b/libkmipclient/kmip.c index 1a53a154..d7c2196c 100644 --- a/libkmipclient/kmip.c +++ b/libkmipclient/kmip.c @@ -1471,7 +1471,7 @@ retry: chain = SSL_get_peer_cert_chain(conn->plain_tls.ssl); if (chain == NULL) { kmip_debug(debug, "SSL_get_peer_cert_chain failed"); - return -EIO; + rc = -EIO; goto out; } diff --git a/libkmipclient/request.c b/libkmipclient/request.c index a625aa49..97a6e2d7 100644 --- a/libkmipclient/request.c +++ b/libkmipclient/request.c @@ -210,6 +210,8 @@ struct kmip_node *kmip_new_request_header(const struct kmip_version *version, out: kmip_node_free(ver); kmip_node_free(max); + kmip_node_free(ccorr); + kmip_node_free(scorr); kmip_node_free(async); kmip_node_free(err); kmip_node_free(ord); diff --git a/libkmipclient/response.c b/libkmipclient/response.c index 7dcb7c89..58804a7d 100644 --- a/libkmipclient/response.c +++ b/libkmipclient/response.c @@ -1369,7 +1369,7 @@ int kmip_get_get_response_payload(const struct kmip_node *node, return 0; error: - if (*unique_id != NULL) { + if (unique_id != NULL && *unique_id != NULL) { kmip_node_free(*unique_id); *unique_id = NULL; } diff --git a/libkmipclient/tls.c b/libkmipclient/tls.c index 4bd84e88..399a8808 100644 --- a/libkmipclient/tls.c +++ b/libkmipclient/tls.c @@ -351,7 +351,6 @@ int kmip_connection_tls_init(struct kmip_connection *conn, bool debug) if (tok == NULL) { kmip_debug(debug, "malformed IPv6 address"); rc = -EINVAL; - free(hostname); goto out; } tok++;