uncrypt: Fix the comparison in FindBlockDevice().
Previously it considered a match if the given path (i.e. path to an
update package) fully equals to a mount_point. For example, `uncrypt
/data block.map` or `uncrypt /vendor block.map` would exit successfully,
without producing a block map.
Test: `uncrypt /path/to/package.zip block.map`
Test: `uncrypt /vendor block.map` fails.
Change-Id: Id946ab1c0b158b623013f89463cbb1960141d8b5
diff --git a/uncrypt/uncrypt.cpp b/uncrypt/uncrypt.cpp
index 49d2be3..75595ac 100644
--- a/uncrypt/uncrypt.cpp
+++ b/uncrypt/uncrypt.cpp
@@ -174,9 +174,7 @@
if (entry.mount_point.empty()) {
continue;
}
- auto len = entry.mount_point.size();
- if (android::base::StartsWith(path, entry.mount_point) &&
- (path[len] == '/' || path[len] == 0)) {
+ if (android::base::StartsWith(path, entry.mount_point + "/")) {
*encrypted = false;
*encryptable = false;
if (entry.is_encryptable() || entry.fs_mgr_flags.file_encryption) {