diff options
author | Tao Bao <tbao@google.com> | 2018-12-05 14:33:28 -0800 |
---|---|---|
committer | Tao Bao <tbao@google.com> | 2018-12-05 14:44:32 -0800 |
commit | bb134b2613aeb4d7d8f9fdfb8d8402158d29d851 (patch) | |
tree | 9268b5e1c60b557ca322d78abf2f3d07aa5f5e09 /uncrypt/uncrypt.cpp | |
parent | d1670a064db279f25d3c6cb2df19af2606f79d38 (diff) | |
download | android_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.cpp | 4 |
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) { |