From bda306fa9659e9d7bed8f397cae4fb4ec973a629 Mon Sep 17 00:00:00 2001
From: "Kevin P. Fleming" <kpfleming@digium.com>
Date: Mon, 2 Oct 2006 16:00:11 +0000
Subject: [PATCH] clean up formatting and conformance to code guidelines revert
 Mark's change that caused a memory leak (cap_set_proc() does not free the
 capability structure so we always need to call cap_free())

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 main/asterisk.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/main/asterisk.c b/main/asterisk.c
index d1e930f1f5..d86e66a5b2 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -2521,7 +2521,6 @@ int main(int argc, char *argv[])
 
 	if (!is_child_of_nonroot && runuser) {
 #ifdef HAVE_CAP
-		cap_t cap;
 		int has_cap = 1;
 #endif /* HAVE_CAP */
 		struct passwd *pw;
@@ -2533,7 +2532,7 @@ int main(int argc, char *argv[])
 #ifdef HAVE_CAP
 		if (prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0)) {
 			ast_log(LOG_WARNING, "Unable to keep capabilities.\n");
-			has_cap  = 0;
+			has_cap = 0;
 		}
 #endif /* HAVE_CAP */
 		if (!rungroup) {
@@ -2555,12 +2554,15 @@ int main(int argc, char *argv[])
 			ast_verbose("Running as user '%s'\n", runuser);
 #ifdef HAVE_CAP
 		if (has_cap) {
+			cap_t cap;
+
 			cap = cap_from_text("cap_net_admin=ep");
-			if (cap_set_proc(cap)) {
+
+			if (cap_set_proc(cap))
 				ast_log(LOG_WARNING, "Unable to install capabilities.\n");
-			} else if (cap_free(cap)) {
+
+			if (cap_free(cap))
 				ast_log(LOG_WARNING, "Unable to drop capabilities.\n");
-			}
 		}
 #endif /* HAVE_CAP */
 	}
-- 
GitLab