You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by wk...@apache.org on 2020/12/21 17:25:09 UTC
[trafficserver] branch master updated: Eliminate dangling pointer
into stack space. (#7392)
This is an automated email from the ASF dual-hosted git repository.
wkaras pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new 95d1069 Eliminate dangling pointer into stack space. (#7392)
95d1069 is described below
commit 95d1069a9c5f70fe8b0fb57feec95e559ab92b91
Author: Walt Karas <wk...@verizonmedia.com>
AuthorDate: Mon Dec 21 11:24:58 2020 -0600
Eliminate dangling pointer into stack space. (#7392)
---
include/tscore/ink_queue.h | 3 +++
proxy/logging/Log.cc | 6 ++----
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/include/tscore/ink_queue.h b/include/tscore/ink_queue.h
index d1806bc..cf6b04f 100644
--- a/include/tscore/ink_queue.h
+++ b/include/tscore/ink_queue.h
@@ -211,7 +211,10 @@ struct InkAtomicList {
#define INK_ATOMICLIST_EMPTY(_x) (!((FREELIST_POINTER((_x.head)))))
#endif
+// WARNING: the "name" string is not copied, it has to be a statically-stored constant string.
+//
inkcoreapi void ink_atomiclist_init(InkAtomicList *l, const char *name, uint32_t offset_to_next);
+
inkcoreapi void *ink_atomiclist_push(InkAtomicList *l, void *item);
void *ink_atomiclist_pop(InkAtomicList *l);
inkcoreapi void *ink_atomiclist_popall(InkAtomicList *l);
diff --git a/proxy/logging/Log.cc b/proxy/logging/Log.cc
index 87e19e2..61307e0 100644
--- a/proxy/logging/Log.cc
+++ b/proxy/logging/Log.cc
@@ -1116,11 +1116,9 @@ Log::create_threads()
flush_notify = new EventNotify;
flush_data_list = new InkAtomicList;
- sprintf(desc, "Logging flush buffer list");
- ink_atomiclist_init(flush_data_list, desc, 0);
+ ink_atomiclist_init(flush_data_list, "Logging flush buffer list", 0);
Continuation *flush_cont = new LoggingFlushContinuation(0);
- sprintf(desc, "[LOG_FLUSH]");
- eventProcessor.spawn_thread(flush_cont, desc, stacksize);
+ eventProcessor.spawn_thread(flush_cont, "[LOG_FLUSH]", stacksize);
}
/*-------------------------------------------------------------------------