From 755f667c297a1cd5cd93689dab2d78613c2f73b5 Mon Sep 17 00:00:00 2001 From: Yulei-Yang Date: Thu, 28 Mar 2024 23:14:37 +0800 Subject: [PATCH] [fix](kerberos)avoid dangling pointer for kerberos's ticket cache when use tcmalloc (#32974) --- be/src/io/hdfs_builder.cpp | 2 +- be/src/io/hdfs_builder.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/be/src/io/hdfs_builder.cpp b/be/src/io/hdfs_builder.cpp index 1503d9eb2e586f..7fc6694dea2abb 100644 --- a/be/src/io/hdfs_builder.cpp +++ b/be/src/io/hdfs_builder.cpp @@ -46,7 +46,7 @@ Status HDFSCommonBuilder::run_kinit() { if (hdfs_kerberos_principal.empty() || hdfs_kerberos_keytab.empty()) { return Status::InvalidArgument("Invalid hdfs_kerberos_principal or hdfs_kerberos_keytab"); } - std::string ticket_path = TICKET_CACHE_PATH + generate_uuid_string(); + ticket_path = TICKET_CACHE_PATH + generate_uuid_string(); const char* krb_home = getenv("KRB_HOME"); std::string krb_home_str(krb_home ? krb_home : ""); fmt::memory_buffer kinit_command; diff --git a/be/src/io/hdfs_builder.h b/be/src/io/hdfs_builder.h index 26164ce6ede751..9bf3b0e32cf684 100644 --- a/be/src/io/hdfs_builder.h +++ b/be/src/io/hdfs_builder.h @@ -57,6 +57,7 @@ class HDFSCommonBuilder { bool need_kinit {false}; std::string hdfs_kerberos_keytab; std::string hdfs_kerberos_principal; + std::string ticket_path; }; THdfsParams parse_properties(const std::map& properties);