[PATCH] Fix two coverity findings

Andreas Schneider asn at samba.org
Tue Dec 19 14:45:17 UTC 2017


On Tuesday, 19 December 2017 14:15:26 CET Volker Lendecke via samba-technical 
wrote:
> Hi!
> 
> Review appreciated!

Looks fine! What do you think about the additional patch attached?

Feel free to squash it.


	Andreas

-- 
Andreas Schneider                   GPG-ID: CC014E3D
Samba Team                             asn at samba.org
www.samba.org
-------------- next part --------------
>From 5d42250152a2b181552316b65ff8a4cc27b0dae7 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Tue, 19 Dec 2017 14:11:24 +0100
Subject: [PATCH 1/3] dsdb: Fix CID 1426727 Resource leak

Signed-off-by: Volker Lendecke <vl at samba.org>
---
 source4/dsdb/samdb/ldb_modules/encrypted_secrets.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/source4/dsdb/samdb/ldb_modules/encrypted_secrets.c b/source4/dsdb/samdb/ldb_modules/encrypted_secrets.c
index bc03fee3e21..41caba1c93f 100644
--- a/source4/dsdb/samdb/ldb_modules/encrypted_secrets.c
+++ b/source4/dsdb/samdb/ldb_modules/encrypted_secrets.c
@@ -313,6 +313,8 @@ static int load_keys(struct ldb_module *module, struct es_data *data)
 
 	read = fread(key.data, 1, key.length, fp);
 	if (read == 0) {
+		TALLOC_FREE(frame);
+		fclose(fp);
 		ldb_debug(ldb,
 			  LDB_DEBUG_WARNING,
 			  "Zero length encrypted secrets key file. "
-- 
2.15.1


>From 74ec5573510774fd3c3828980a86696ecc5354d5 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Tue, 19 Dec 2017 14:13:37 +0100
Subject: [PATCH 2/3] dsdb: Fix CID 1426728 Structurally dead code

Signed-off-by: Volker Lendecke <vl at samba.org>
---
 source4/dsdb/samdb/ldb_modules/encrypted_secrets.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/source4/dsdb/samdb/ldb_modules/encrypted_secrets.c b/source4/dsdb/samdb/ldb_modules/encrypted_secrets.c
index 41caba1c93f..bd335f5a60c 100644
--- a/source4/dsdb/samdb/ldb_modules/encrypted_secrets.c
+++ b/source4/dsdb/samdb/ldb_modules/encrypted_secrets.c
@@ -1668,8 +1668,6 @@ static int es_modify(struct ldb_module *module, struct ldb_request *req)
 		}
 		return ldb_next_request(module, new_req);
 	}
-	req->op.add.message = encrypted_msg;
-	return ldb_next_request(module, req);
 }
 
 static int es_delete(struct ldb_module *module, struct ldb_request *req)
-- 
2.15.1


>From 05cf11a11c17a9f28ea97abdd419a2b013066a62 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn at samba.org>
Date: Tue, 19 Dec 2017 15:42:14 +0100
Subject: [PATCH 3/3] dsdb: Improve code and directly close fp

Signed-off-by: Andreas Schneider <asn at samba.org>
---
 source4/dsdb/samdb/ldb_modules/encrypted_secrets.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/source4/dsdb/samdb/ldb_modules/encrypted_secrets.c b/source4/dsdb/samdb/ldb_modules/encrypted_secrets.c
index bd335f5a60c..8f3e0497b33 100644
--- a/source4/dsdb/samdb/ldb_modules/encrypted_secrets.c
+++ b/source4/dsdb/samdb/ldb_modules/encrypted_secrets.c
@@ -312,9 +312,9 @@ static int load_keys(struct ldb_module *module, struct es_data *data)
 	}
 
 	read = fread(key.data, 1, key.length, fp);
+	fclose(fp);
 	if (read == 0) {
 		TALLOC_FREE(frame);
-		fclose(fp);
 		ldb_debug(ldb,
 			  LDB_DEBUG_WARNING,
 			  "Zero length encrypted secrets key file. "
@@ -325,7 +325,6 @@ static int load_keys(struct ldb_module *module, struct es_data *data)
 	}
 	if (read != key.length) {
 		TALLOC_FREE(frame);
-		fclose(fp);
 		if (errno) {
 			log_error(ldb,
 				  errno,
@@ -340,8 +339,6 @@ static int load_keys(struct ldb_module *module, struct es_data *data)
 		}
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
-	fclose(fp);
-
 
 	data->keys[0] = key;
 	data->encrypt_secrets = true;
-- 
2.15.1



More information about the samba-technical mailing list