Skip to content
Snippets Groups Projects
Commit 0ead5380 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by android-build-merger
Browse files

Parse hex code immediately to avoid SIGBUS. am: 9c50b5e1

am: 00994822

Change-Id: I05b051eb5f84e13c396bf8be17963b3a95a8329b
parents fe263b25 00994822
No related branches found
No related tags found
No related merge requests found
......@@ -365,7 +365,10 @@ int GPTDataCL::DoOptions(int argc, char* argv[]) {
partNum = newPartNum;
if ((partNum >= 0) && (partNum < (int) GetNumParts())) {
// Remember the original hex value requested
typeRaw[partNum] = GetString(typeCode, 2);
string raw = GetString(typeCode, 2);
if (raw.size() == 4) {
typeRaw[partNum] = StrToHex(raw, 0);
}
typeHelper = GetString(typeCode, 2);
if ((typeHelper != (GUIDData) "00000000-0000-0000-0000-000000000000") &&
(ChangePartType(partNum, typeHelper))) {
......@@ -499,10 +502,7 @@ int GPTDataCL::BuildMBR(char* argument, int isHybrid) {
// If we were created with a specific hex type, use that instead
// of risking fidelity loss by doing a GUID-based lookup
if (typeRaw.count(origPartNum) == 1) {
string raw = typeRaw[origPartNum];
if (raw.size() == 4) {
newPart.SetType(StrToHex(raw, 0));
}
newPart.SetType(typeRaw[origPartNum]);
}
newMBR.AddPart(i + isHybrid, newPart);
} else {
......
......@@ -37,7 +37,7 @@ class GPTDataCL : public GPTData {
int alignment, deletePartNum, infoPartNum, largestPartNum, bsdPartNum;
uint32_t tableSize;
poptContext poptCon;
std::map<int, string> typeRaw;
std::map<int, char> typeRaw;
int BuildMBR(char* argument, int isHybrid);
public:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment