Require quotes when searching for blkid keys.
In combination with a blkid change, this prevents the parsing logic
from getting confused by key names appearing inside values. (The
blkid change suppresses any quotes that appear inside values.)
Bug: 80436257
Test: manual
Change-Id: I9480ef6eb78254b812c671950875d0b8918a27c6
(cherry picked from commit ee5c7318d70f61fc735f64ea28603550af54f8df)
diff --git a/Utils.cpp b/Utils.cpp
index 014055b..43014bd 100644
--- a/Utils.cpp
+++ b/Utils.cpp
@@ -211,17 +211,17 @@
for (auto line : output) {
// Extract values from blkid output, if defined
const char* cline = line.c_str();
- char* start = strstr(cline, "TYPE=");
+ char* start = strstr(cline, "TYPE=\"");
if (start != nullptr && sscanf(start + 5, "\"%127[^\"]\"", value) == 1) {
fsType = value;
}
- start = strstr(cline, "UUID=");
+ start = strstr(cline, "UUID=\"");
if (start != nullptr && sscanf(start + 5, "\"%127[^\"]\"", value) == 1) {
fsUuid = value;
}
- start = strstr(cline, "LABEL=");
+ start = strstr(cline, "LABEL=\"");
if (start != nullptr && sscanf(start + 6, "\"%127[^\"]\"", value) == 1) {
fsLabel = value;
}