aboutsummaryrefslogtreecommitdiffstats
path: root/uncrypt/uncrypt.cpp
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2018-12-05 14:33:28 -0800
committerTao Bao <tbao@google.com>2018-12-05 14:44:32 -0800
commitbb134b2613aeb4d7d8f9fdfb8d8402158d29d851 (patch)
tree9268b5e1c60b557ca322d78abf2f3d07aa5f5e09 /uncrypt/uncrypt.cpp
parentd1670a064db279f25d3c6cb2df19af2606f79d38 (diff)
downloadandroid_bootable_recovery-bb134b2613aeb4d7d8f9fdfb8d8402158d29d851.tar.gz
android_bootable_recovery-bb134b2613aeb4d7d8f9fdfb8d8402158d29d851.tar.bz2
android_bootable_recovery-bb134b2613aeb4d7d8f9fdfb8d8402158d29d851.zip
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
Diffstat (limited to 'uncrypt/uncrypt.cpp')
-rw-r--r--uncrypt/uncrypt.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/uncrypt/uncrypt.cpp b/uncrypt/uncrypt.cpp
index 49d2be3b..75595ac2 100644
--- a/uncrypt/uncrypt.cpp
+++ b/uncrypt/uncrypt.cpp
@@ -174,9 +174,7 @@ static std::string FindBlockDevice(const std::string& path, bool* encryptable, b
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) {