diff options
| author | Andrew M. B. Boktor <[email protected]> | 2012-05-26 10:14:24 -0800 |
|---|---|---|
| committer | Andrew Boktor <[email protected]> | 2014-08-14 13:47:31 -0700 |
| commit | 76509c2b8aca4224f1ccbef5e92237e3d94b14d6 (patch) | |
| tree | 5363e8fa2787f0fd637066f27e032645198eb2e0 | |
| parent | db8d4285b252c08a4607ee83e6924dcc726900c3 (diff) | |
Removing a couple of memory corruptions
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12761]
| -rw-r--r-- | cuobjdump_to_ptxplus/cuobjdumpInst.cc | 25 | ||||
| -rw-r--r-- | cuobjdump_to_ptxplus/cuobjdumpInstList.cc | 3 |
2 files changed, 9 insertions, 19 deletions
diff --git a/cuobjdump_to_ptxplus/cuobjdumpInst.cc b/cuobjdump_to_ptxplus/cuobjdumpInst.cc index 256c6c8..24ca4d2 100644 --- a/cuobjdump_to_ptxplus/cuobjdumpInst.cc +++ b/cuobjdump_to_ptxplus/cuobjdumpInst.cc @@ -262,33 +262,22 @@ void cuobjdumpInst::printCuobjdumpPredicate() modString[0]=currentPiece->stringText[1]; modString[1]='\0'; output(modString); - stringListPiece* currentPiece2 = m_predicateModifiers->getListStart(); for(int i=0; (i<m_predicateModifiers->getSize())&&(currentPiece2!=NULL); i++) { - const char* modString2 = currentPiece2->stringText; - char* modString3 = new char[strlen(currentPiece2->stringText)+1]; + std::string modString3 = currentPiece2->stringText; - for(unsigned i=0; i<strlen(modString2); i++) + for(unsigned i=0; i<modString3.length(); i++) { - if(modString2[i] >= 'A' && modString2[i] <= 'Z') - modString3[i] = modString2[i] + 32; - else - modString3[i] = modString2[i]; + modString3[i] = tolower(modString3[i]); } - modString3[strlen(modString2)]='\0'; - if( strcmp(modString3, ".not_sign")==0) - { + if(modString3 ==".not_sign") { output(".nsf"); - } else if( strcmp(modString3, ".sign")==0) - { + } else if(modString3 == ".sign") { output(".sf"); - } else if( strcmp(modString3, ".carry")==0) - { + } else if(modString3 == ".carry") { output(".cf"); - } - else - { + } else { output(modString3); } currentPiece = currentPiece2->nextString; diff --git a/cuobjdump_to_ptxplus/cuobjdumpInstList.cc b/cuobjdump_to_ptxplus/cuobjdumpInstList.cc index ecab488..1197b51 100644 --- a/cuobjdump_to_ptxplus/cuobjdumpInstList.cc +++ b/cuobjdump_to_ptxplus/cuobjdumpInstList.cc @@ -526,8 +526,9 @@ void cuobjdumpInstList::addCuobjdumpDoublePredReg(std::string pred, std::string else doublePredReg = parsedPred + "|" + parsedReg; - char* doublePredRegName = new char [strlen(doublePredReg.c_str())]; + char* doublePredRegName = new char [strlen(doublePredReg.c_str())+1]; strcpy(doublePredRegName, doublePredReg.c_str()); + doublePredRegName[strlen(doublePredReg.c_str())] = '\0'; getListEnd().addOperand(doublePredRegName); } |
