Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ae9bde6c authored by Elliott Hughes's avatar Elliott Hughes Committed by android-build-merger
Browse files

Merge "Fix ubsan failure in android::base::Split." am: aa9548db am: 09980cd1

am: 11f74d4e

Change-Id: Ifd91bbf8d720f0b3fd4d7690c97a6d62bd9b685e
parents 9a7ff0e1 11f74d4e
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -37,6 +37,9 @@ cc_library {
    cppflags: libbase_cppflags,
    export_include_dirs: ["include"],
    shared_libs: ["liblog"],
    sanitize: {
        misc_undefined: ["integer"],
    },
    target: {
        android: {
            srcs: [
@@ -97,6 +100,9 @@ cc_test {
        "strings_test.cpp",
        "test_main.cpp",
    ],
    sanitize: {
        misc_undefined: ["integer"],
    },
    target: {
        android: {
            srcs: [
+3 −2
Original line number Diff line number Diff line
@@ -36,11 +36,12 @@ std::vector<std::string> Split(const std::string& s,

  size_t base = 0;
  size_t found;
  do {
  while (true) {
    found = s.find_first_of(delimiters, base);
    result.push_back(s.substr(base, found - base));
    if (found == s.npos) break;
    base = found + 1;
  } while (found != s.npos);
  }

  return result;
}
+4 −0
Original line number Diff line number Diff line
@@ -251,3 +251,7 @@ TEST(strings, EqualsIgnoreCase) {
  ASSERT_FALSE(android::base::EqualsIgnoreCase("foo", "bar"));
  ASSERT_FALSE(android::base::EqualsIgnoreCase("foo", "fool"));
}

TEST(strings, ubsan_28729303) {
  android::base::Split("/dev/null", ":");
}