summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Thiago Macieira <thiago@macieira.org>2014-05-07 21:57:08 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-05-07 22:02:21 -0700
commit2e0a51264f2d8dfdb2ffe016742f6dd52b0f15e2 (patch)
treeab2ca115666930736be6aad8c2fb0540f84e177b
parent497d6e3e6c353d69cd6c27f7b573400b82de8ff3 (diff)
downloadsubsurface-2e0a51264f2d8dfdb2ffe016742f6dd52b0f15e2.tar.gz
Fix another dangling pointer
Same problem as the previous commit: toStdString() returns a temporary, and c_str() will return a pointer to internal data, freed at the end of the statement. So get the pointer to be strcpy'ed in the same statement. Changed to toUtf8() to be more explicit about the encoding and to avoid std::string Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--qt-ui/profile/profilewidget2.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp
index f2fddb5e4..17eb2a3c4 100644
--- a/qt-ui/profile/profilewidget2.cpp
+++ b/qt-ui/profile/profilewidget2.cpp
@@ -841,10 +841,8 @@ void ProfileWidget2::editName()
lengthWarning.exec();
return;
}
- const char *temp;
- temp = newName.toStdString().c_str();
- strcpy(event->name, temp);
- remember_event(temp);
+ strcpy(event->name, newName.toUtf8());
+ remember_event(event->name);
}
replot();
}