summaryrefslogtreecommitdiff
path: root/cuobjdump_to_ptxplus
diff options
context:
space:
mode:
authorAndrew M. B. Boktor <[email protected]>2012-05-26 10:14:24 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:47:31 -0700
commit76509c2b8aca4224f1ccbef5e92237e3d94b14d6 (patch)
tree5363e8fa2787f0fd637066f27e032645198eb2e0 /cuobjdump_to_ptxplus
parentdb8d4285b252c08a4607ee83e6924dcc726900c3 (diff)
Removing a couple of memory corruptions
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12761]
Diffstat (limited to 'cuobjdump_to_ptxplus')
-rw-r--r--cuobjdump_to_ptxplus/cuobjdumpInst.cc25
-rw-r--r--cuobjdump_to_ptxplus/cuobjdumpInstList.cc3
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);
}