From 76509c2b8aca4224f1ccbef5e92237e3d94b14d6 Mon Sep 17 00:00:00 2001 From: "Andrew M. B. Boktor" Date: Sat, 26 May 2012 10:14:24 -0800 Subject: Removing a couple of memory corruptions [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12761] --- cuobjdump_to_ptxplus/cuobjdumpInst.cc | 25 +++++++------------------ cuobjdump_to_ptxplus/cuobjdumpInstList.cc | 3 ++- 2 files changed, 9 insertions(+), 19 deletions(-) (limited to 'cuobjdump_to_ptxplus') 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; (igetSize())&&(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= '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); } -- cgit v1.3