[PATCH] fix memory leak in ldbsearch

Andrej Gessel andrej.gessel at janztec.com
Fri Aug 3 07:22:40 UTC 2018


Hello list,

its actually not really a mem leak, because memory will be(should be?) 
freed from system after process exits.

Gitlab-CI Pipeline: 
https://gitlab.com/samba-team/devel/samba/pipelines/27040530

Andrej

-------------- next part --------------
From 59bae43bd0807d42800eea91f8cd6a4a6bb2b9dc Mon Sep 17 00:00:00 2001
From: Andrej Gessel <Andrej.Gessel at janztec.com>
Date: Mon, 16 Jul 2018 11:43:22 +0200
Subject: [PATCH] fix mem leak in ldbsearch

Signed-off-by: Andrej Gessel <Andrej.Gessel at janztec.com>
---
 lib/ldb/tools/ldbsearch.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/ldb/tools/ldbsearch.c b/lib/ldb/tools/ldbsearch.c
index 5eae624..374f240 100644
--- a/lib/ldb/tools/ldbsearch.c
+++ b/lib/ldb/tools/ldbsearch.c
@@ -248,12 +248,16 @@ again:
 
 	ret = ldb_request(ldb, req);
 	if (ret != LDB_SUCCESS) {
+		talloc_free(sctx);
+		talloc_free(req);
 		printf("search failed - %s\n", ldb_errstring(ldb));
 		return ret;
 	}
 
 	ret = ldb_wait(req->handle, LDB_WAIT_ALL);
 	if (ret != LDB_SUCCESS) {
+		talloc_free(sctx);
+		talloc_free(req);
 		printf("search error - %s\n", ldb_errstring(ldb));
 		return ret;
 	}
@@ -318,6 +322,7 @@ int main(int argc, const char **argv)
 	if (options->basedn != NULL) {
 		basedn = ldb_dn_new(ldb, ldb, options->basedn);
 		if (basedn == NULL) {
+			talloc_free(mem_ctx);
 			return LDB_ERR_OPERATIONS_ERROR;
 		}
 	}
-- 
2.7.4



More information about the samba-technical mailing list