From 664582f01d96ce076c2875a9ca6b6897eb644ffe Mon Sep 17 00:00:00 2001 From: Hannes Braun Date: Fri, 25 Jul 2025 14:26:20 +0200 Subject: [PATCH] Improve UUID parsing The previous approach only worked if the drive name had three letters (usually sda). --- src/reHDD.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/reHDD.cpp b/src/reHDD.cpp index e4f15ce..c9f23df 100644 --- a/src/reHDD.cpp +++ b/src/reHDD.cpp @@ -408,10 +408,11 @@ void reHDD::filterIgnoredDrives(list *plistDrives) while ((getline(&cLine, &len, outputfileBlkid)) != -1) // parse UUID from blkid { - if (string(cLine).find("PTUUID") != string::npos) + size_t ptuuidPos = string(cLine).find("PTUUID"); + if (ptuuidPos != string::npos) { string sBlkidOut = string(cLine); - sBlkidOut.erase(0, 18); + sBlkidOut.erase(0, ptuuidPos + 8); sBlkidOut.erase(8, sBlkidOut.length()); sUUID = sBlkidOut; // cout << "blkid uuid:" << sUUID << endl;