You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zy...@apache.org on 2012/04/25 16:47:25 UTC
git commit: TS-1205 double free when RecDataSet in cluster mode
Updated Branches:
refs/heads/master 2bb5bb069 -> d1b18044c
TS-1205 double free when RecDataSet in cluster mode
a quick fix for the safe free.
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/d1b18044
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/d1b18044
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/d1b18044
Branch: refs/heads/master
Commit: d1b18044c473dd0c8d1964084d7ca66968fc0551
Parents: 2bb5bb0
Author: Zhao Yongming <mi...@gmail.com>
Authored: Wed Apr 25 20:13:12 2012 +0800
Committer: Zhao Yongming <mi...@gmail.com>
Committed: Wed Apr 25 22:45:52 2012 +0800
----------------------------------------------------------------------
CHANGES | 2 ++
lib/records/RecUtils.cc | 2 +-
2 files changed, 3 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d1b18044/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 36138dc..f1c9950 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,7 @@
-*- coding: utf-8 -*-
Changes with Apache Traffic Server 3.1.4
+ *) [TS-1205] double free when RecDataSet in cluster mode
+
*) [TS-1220] stats: cleanup and fix the wrong values.
*) [TS-1212] can not limit ram cache, also fix the stats.
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d1b18044/lib/records/RecUtils.cc
----------------------------------------------------------------------
diff --git a/lib/records/RecUtils.cc b/lib/records/RecUtils.cc
index b47310f..a337efc 100644
--- a/lib/records/RecUtils.cc
+++ b/lib/records/RecUtils.cc
@@ -86,7 +86,7 @@ RecDataSet(RecDataT data_type, RecData * data_dst, RecData * data_src)
}
} else if (((data_dst->rec_string) && (strcmp(data_dst->rec_string, data_src->rec_string) != 0)) ||
((data_dst->rec_string == NULL) && (data_src->rec_string != NULL))) {
- ats_free(data_dst->rec_string);
+ if (data_dst->rec_string) ats_free(data_dst->rec_string);
data_dst->rec_string = ats_strdup(data_src->rec_string);
rec_set = true;
}