summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2021-02-03 17:40:05 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2021-02-03 17:43:13 +0100
commitc4da2ff42da55ffc38c77a9170dc151216d75962 (patch)
treee909e1268b8e56e84a5cebbfda81440ad523c1fe /test
parente0743a85c5f5f2f83d91c305450e8ba192194cd8 (diff)
Avoid overstepping bounds in config file parsing
Our configuration files are not security relevant, but having a parser which avoids crashing on them even if they are seriously messed up is not a bad idea anyway. It is also a good opportunity to brush up the code a bit avoiding a few small string copies with our string_view.
Diffstat (limited to 'test')
-rw-r--r--test/libapt/stringview_test.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/libapt/stringview_test.cc b/test/libapt/stringview_test.cc
index 03d82517b..9cfaa3b48 100644
--- a/test/libapt/stringview_test.cc
+++ b/test/libapt/stringview_test.cc
@@ -74,6 +74,14 @@ TEST(StringViewTest,Find)
EXPECT_EQ(defString.to_string().find('e',3), defString.find('e',3));
EXPECT_EQ(defString.to_string().find('l',6), defString.find('l',6));
EXPECT_EQ(defString.to_string().find('l',11), defString.find('l',11));
+
+ EXPECT_EQ(defString.to_string().find("l"), defString.find("l"));
+ EXPECT_EQ(defString.to_string().find("ll"), defString.find("ll"));
+ EXPECT_EQ(defString.to_string().find("lo"), defString.find("lo"));
+ EXPECT_EQ(defString.to_string().find("ll", 1), defString.find("ll", 1));
+ EXPECT_EQ(defString.to_string().find("ll", 6), defString.find("ll", 6));
+ EXPECT_EQ(defString.to_string().find("or"), defString.find("or"));
+ EXPECT_EQ(defString.to_string().find("od"), defString.find("od"));
}
TEST(StringViewTest,RFind)