fs_mgr: trim the terminating '\0' when reading from device tree

Bug: 63637343
Test: boot device
Change-Id: I35ead1ad852493f7f92bdb6c87617fde57b3b0be
This commit is contained in:
Bowgo Tsai 2017-07-13 15:05:08 +08:00
parent f42d02830d
commit f559655912
1 changed files with 6 additions and 2 deletions

View File

@ -14,6 +14,8 @@
* limitations under the License.
*/
#include <string>
#include <android-base/file.h>
#include <android-base/stringprintf.h>
#include <android-base/strings.h>
@ -51,9 +53,11 @@ bool fs_mgr_get_boot_config(const std::string& key, std::string* out_val) {
// lastly, check the device tree
if (is_dt_compatible()) {
std::string file_name = kAndroidDtDir + "/" + key;
// DT entries terminate with '\0' but so do the properties
if (android::base::ReadFileToString(file_name, out_val)) {
return true;
if (!out_val->empty()) {
out_val->pop_back(); // Trims the trailing '\0' out.
return true;
}
}
}