From 806087d4a1fa0237aa1d57f177432cfabc83156e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= Date: Mon, 4 Aug 2025 11:50:41 -0700 Subject: [PATCH] NetBpfLoad: make 2 slashes abort MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This cannot happen (it's a .c misconfig if it does) Test: TreeHugger Flag: EXEMPT mainline Signed-off-by: Maciej Żenczykowski Change-Id: I5d82c7bb8c0214f5ffcc0ce391daddb9fe6a3295 --- bpf/loader/NetBpfLoad.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/bpf/loader/NetBpfLoad.cpp b/bpf/loader/NetBpfLoad.cpp index c8eb53cc37..50c2103e3d 100644 --- a/bpf/loader/NetBpfLoad.cpp +++ b/bpf/loader/NetBpfLoad.cpp @@ -431,8 +431,15 @@ int readCodeSections(ElfObject& elfObj, vector& cs) { string oldName = name; - // convert all slashes to underscores - std::replace(name.begin(), name.end(), '/', '_'); + // Find the first slash + size_t first_slash_pos = name.find('/'); + + // If a slash is found, replace it + if (first_slash_pos != std::string::npos) { + name[first_slash_pos] = '_'; + + if (name.find('/') != std::string::npos) abort(); // There should only be one! + } cs_temp.name = name;