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 <[email protected]> Authored: Wed Apr 25 20:13:12 2012 +0800 Committer: Zhao Yongming <[email protected]> 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; }
