This is an automated email from the ASF dual-hosted git repository.
eze pushed a commit to branch 8.1.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/8.1.x by this push:
new cbb20d4 Don't call next next dup on destroyed mime field mloc.
(#7833) (#7861)
cbb20d4 is described below
commit cbb20d4fe05e1598943590a1a65fbb2d3f5015d2
Author: Walt Karas <[email protected]>
AuthorDate: Wed May 19 15:03:16 2021 -0500
Don't call next next dup on destroyed mime field mloc. (#7833) (#7861)
plugins/background_fetch/headers.cc
plugins/cache_range_requests/cache_range_requests.cc
plugins/experimental/access_control/headers.cc
plugins/experimental/cache_fill/background_fetch.cc
plugins/header_rewrite/operators.cc
plugins/prefetch/headers.cc
(cherry picked from commit dc10eae8a85e9b1c3436d15bb97219e98b41d42e)
---
plugins/background_fetch/headers.cc | 2 +-
plugins/experimental/access_control/headers.cc | 2 +-
plugins/experimental/cache_fill/background_fetch.cc | 2 +-
plugins/experimental/cache_range_requests/cache_range_requests.cc | 2 +-
plugins/experimental/prefetch/headers.cc | 2 +-
plugins/header_rewrite/operators.cc | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/plugins/background_fetch/headers.cc
b/plugins/background_fetch/headers.cc
index 4043993..19314c4 100644
--- a/plugins/background_fetch/headers.cc
+++ b/plugins/background_fetch/headers.cc
@@ -75,6 +75,7 @@ set_header(TSMBuffer bufp, TSMLoc hdr_loc, const char
*header, int len, const ch
bool first = true;
while (field_loc) {
+ tmp = TSMimeHdrFieldNextDup(bufp, hdr_loc, field_loc);
if (first) {
first = false;
if (TS_SUCCESS == TSMimeHdrFieldValueStringSet(bufp, hdr_loc,
field_loc, -1, val, val_len)) {
@@ -83,7 +84,6 @@ set_header(TSMBuffer bufp, TSMLoc hdr_loc, const char
*header, int len, const ch
} else {
TSMimeHdrFieldDestroy(bufp, hdr_loc, field_loc);
}
- tmp = TSMimeHdrFieldNextDup(bufp, hdr_loc, field_loc);
TSHandleMLocRelease(bufp, hdr_loc, field_loc);
field_loc = tmp;
}
diff --git a/plugins/experimental/access_control/headers.cc
b/plugins/experimental/access_control/headers.cc
index fda3a74..4f78be9 100644
--- a/plugins/experimental/access_control/headers.cc
+++ b/plugins/experimental/access_control/headers.cc
@@ -156,6 +156,7 @@ setHeader(TSMBuffer bufp, TSMLoc hdrLoc, const char
*header, int headerlen, cons
bool first = true;
while (fieldLoc) {
+ tmp = TSMimeHdrFieldNextDup(bufp, hdrLoc, fieldLoc);
if (first) {
first = false;
if (TS_SUCCESS == TSMimeHdrFieldValueStringSet(bufp, hdrLoc, fieldLoc,
-1, value, valuelen)) {
@@ -164,7 +165,6 @@ setHeader(TSMBuffer bufp, TSMLoc hdrLoc, const char
*header, int headerlen, cons
} else {
TSMimeHdrFieldDestroy(bufp, hdrLoc, fieldLoc);
}
- tmp = TSMimeHdrFieldNextDup(bufp, hdrLoc, fieldLoc);
TSHandleMLocRelease(bufp, hdrLoc, fieldLoc);
fieldLoc = tmp;
}
diff --git a/plugins/experimental/cache_fill/background_fetch.cc
b/plugins/experimental/cache_fill/background_fetch.cc
index e420220..23e2e13 100644
--- a/plugins/experimental/cache_fill/background_fetch.cc
+++ b/plugins/experimental/cache_fill/background_fetch.cc
@@ -68,6 +68,7 @@ set_header(TSMBuffer bufp, TSMLoc hdr_loc, const char
*header, int len, const ch
bool first = true;
while (field_loc) {
+ tmp = TSMimeHdrFieldNextDup(bufp, hdr_loc, field_loc);
if (first) {
first = false;
if (TS_SUCCESS == TSMimeHdrFieldValueStringSet(bufp, hdr_loc,
field_loc, -1, val, val_len)) {
@@ -76,7 +77,6 @@ set_header(TSMBuffer bufp, TSMLoc hdr_loc, const char
*header, int len, const ch
} else {
TSMimeHdrFieldDestroy(bufp, hdr_loc, field_loc);
}
- tmp = TSMimeHdrFieldNextDup(bufp, hdr_loc, field_loc);
TSHandleMLocRelease(bufp, hdr_loc, field_loc);
field_loc = tmp;
}
diff --git a/plugins/experimental/cache_range_requests/cache_range_requests.cc
b/plugins/experimental/cache_range_requests/cache_range_requests.cc
index cf2e04f..5b43d45 100644
--- a/plugins/experimental/cache_range_requests/cache_range_requests.cc
+++ b/plugins/experimental/cache_range_requests/cache_range_requests.cc
@@ -433,6 +433,7 @@ set_header(TSMBuffer buf, TSMLoc hdr_loc, const char
*header, int len, const cha
bool first = true;
while (field_loc) {
+ tmp = TSMimeHdrFieldNextDup(buf, hdr_loc, field_loc);
if (first) {
first = false;
if (TS_SUCCESS == TSMimeHdrFieldValueStringSet(buf, hdr_loc,
field_loc, -1, val, val_len)) {
@@ -441,7 +442,6 @@ set_header(TSMBuffer buf, TSMLoc hdr_loc, const char
*header, int len, const cha
} else {
TSMimeHdrFieldDestroy(buf, hdr_loc, field_loc);
}
- tmp = TSMimeHdrFieldNextDup(buf, hdr_loc, field_loc);
TSHandleMLocRelease(buf, hdr_loc, field_loc);
field_loc = tmp;
}
diff --git a/plugins/experimental/prefetch/headers.cc
b/plugins/experimental/prefetch/headers.cc
index 8233dc5..83bbc9c 100644
--- a/plugins/experimental/prefetch/headers.cc
+++ b/plugins/experimental/prefetch/headers.cc
@@ -156,6 +156,7 @@ setHeader(TSMBuffer bufp, TSMLoc hdrLoc, const char
*header, int headerlen, cons
bool first = true;
while (fieldLoc) {
+ tmp = TSMimeHdrFieldNextDup(bufp, hdrLoc, fieldLoc);
if (first) {
first = false;
if (TS_SUCCESS == TSMimeHdrFieldValueStringSet(bufp, hdrLoc, fieldLoc,
-1, value, valuelen)) {
@@ -164,7 +165,6 @@ setHeader(TSMBuffer bufp, TSMLoc hdrLoc, const char
*header, int headerlen, cons
} else {
TSMimeHdrFieldDestroy(bufp, hdrLoc, fieldLoc);
}
- tmp = TSMimeHdrFieldNextDup(bufp, hdrLoc, fieldLoc);
TSHandleMLocRelease(bufp, hdrLoc, fieldLoc);
fieldLoc = tmp;
}
diff --git a/plugins/header_rewrite/operators.cc
b/plugins/header_rewrite/operators.cc
index f8c39a7..5ee06f1 100644
--- a/plugins/header_rewrite/operators.cc
+++ b/plugins/header_rewrite/operators.cc
@@ -621,6 +621,7 @@ OperatorSetHeader::exec(const Resources &res) const
bool first = true;
while (field_loc) {
+ tmp = TSMimeHdrFieldNextDup(res.bufp, res.hdr_loc, field_loc);
if (first) {
first = false;
if (TS_SUCCESS == TSMimeHdrFieldValueStringSet(res.bufp,
res.hdr_loc, field_loc, -1, value.c_str(), value.size())) {
@@ -629,7 +630,6 @@ OperatorSetHeader::exec(const Resources &res) const
} else {
TSMimeHdrFieldDestroy(res.bufp, res.hdr_loc, field_loc);
}
- tmp = TSMimeHdrFieldNextDup(res.bufp, res.hdr_loc, field_loc);
TSHandleMLocRelease(res.bufp, res.hdr_loc, field_loc);
field_loc = tmp;
}