You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ig...@apache.org on 2013/12/05 22:01:00 UTC

git commit: TS-2408: fix double free of proxy.config.admin.user_id

Updated Branches:
  refs/heads/4.1.x 87ef044cf -> d7144dfe3


TS-2408: fix double free of proxy.config.admin.user_id

Conflicts:
	CHANGES


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/d7144dfe
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/d7144dfe
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/d7144dfe

Branch: refs/heads/4.1.x
Commit: d7144dfe3e6ec25783838cf64351bab7cb672e69
Parents: 87ef044
Author: James Peach <jp...@apache.org>
Authored: Thu Nov 28 10:17:58 2013 -0800
Committer: Igor Galić <i....@brainsware.org>
Committed: Thu Dec 5 21:59:45 2013 +0100

----------------------------------------------------------------------
 CHANGES               | 2 ++
 lib/ts/ink_resource.h | 2 +-
 proxy/Main.cc         | 4 +---
 3 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d7144dfe/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 71e089c..d8339ac 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,8 @@ Changes with Apache Traffic Server 4.1.1
 
   *) [TS-2384] Fix regression in key-lookup code between 4.0.x and 4.1.x
 
+  *) [TS-2408] Fix double free of proxy.config.admin.user_id.
+
   *) [TS-2340] Fix TextLogObject log rolling.
    Author: bettydramit <b1...@gmail.com>
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d7144dfe/lib/ts/ink_resource.h
----------------------------------------------------------------------
diff --git a/lib/ts/ink_resource.h b/lib/ts/ink_resource.h
index 0fdf2e2..ba4f17a 100644
--- a/lib/ts/ink_resource.h
+++ b/lib/ts/ink_resource.h
@@ -81,7 +81,7 @@ public:
 
   /// Construct and initialized with memory for @a n instances of @a T.
   explicit xptr(size_t n)
-    : m_ptr(ats_malloc(sizeof(T) * n))
+    : m_ptr((T *)ats_malloc(sizeof(T) * n))
   { }
 
   /// Destructor - free memory held by this instance.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d7144dfe/proxy/Main.cc
----------------------------------------------------------------------
diff --git a/proxy/Main.cc b/proxy/Main.cc
index ed9141b..b98e1f2 100644
--- a/proxy/Main.cc
+++ b/proxy/Main.cc
@@ -1363,7 +1363,7 @@ main(int /* argc ATS_UNUSED */, char **argv)
   if (!num_task_threads)
     TS_ReadConfigInteger(num_task_threads, "proxy.config.task_threads");
 
-  char *user = (char *)ats_malloc(MAX_LOGIN);
+  xptr<char> user(MAX_LOGIN + 1);
 
   *user = '\0';
   admin_user_p = ((REC_ERR_OKAY == TS_ReadConfigString(user, "proxy.config.admin.user_id", MAX_LOGIN)) &&
@@ -1380,7 +1380,6 @@ main(int /* argc ATS_UNUSED */, char **argv)
     PreserveCapabilities();
     change_uid_gid(user);
     RestrictCapabilities();
-    ats_free(user);
   }
 # endif
 
@@ -1679,7 +1678,6 @@ main(int /* argc ATS_UNUSED */, char **argv)
   if (admin_user_p) {
     change_uid_gid(user);
     DebugCapabilities("server");
-    ats_free(user);
   }
 # endif