Fix use-after-destroy in epicsRefSnapshopCurrent
This commit is contained in:
@@ -27,7 +27,7 @@ using std::string;
|
||||
namespace epics { namespace pvData {
|
||||
|
||||
|
||||
static std::vector<string> split(string commaSeparatedList) {
|
||||
static std::vector<string> split(const string& commaSeparatedList) {
|
||||
string::size_type numValues = 1;
|
||||
string::size_type index=0;
|
||||
while(true) {
|
||||
|
||||
@@ -271,10 +271,10 @@ char* epicsRefSnapshotCurrent()
|
||||
snap.update();
|
||||
std::ostringstream strm;
|
||||
strm<<snap;
|
||||
const char *str = strm.str().c_str();
|
||||
char *ret = (char*)malloc(strlen(str)+1);
|
||||
std::string str = strm.str();
|
||||
char *ret = (char*)malloc(str.length()+1);
|
||||
if(ret)
|
||||
strcpy(ret, str);
|
||||
strcpy(ret, str.c_str());
|
||||
return ret;
|
||||
}catch(std::exception& e){
|
||||
return epicsStrDup(e.what());
|
||||
|
||||
Reference in New Issue
Block a user