Fix a few exceptions returning pointers to temporaries in what()
LocalBrowserModelException and GameModelException returned pointers to data owned by temporaries in what(). Solution: don't create a temporary in what(), store the ByteString version of the error message in the exception.
This commit is contained in:
parent
2ba0f70efd
commit
783310dc16
@ -5,12 +5,12 @@
|
||||
#include <exception>
|
||||
|
||||
struct GameModelException: public exception {
|
||||
String message;
|
||||
ByteString message;
|
||||
public:
|
||||
GameModelException(String message_): message(message_) {}
|
||||
GameModelException(String message_): message(message_.ToUtf8()) {}
|
||||
const char * what() const throw() override
|
||||
{
|
||||
return message.ToUtf8().c_str();
|
||||
return message.c_str();
|
||||
}
|
||||
~GameModelException() throw() {}
|
||||
};
|
||||
|
@ -5,10 +5,10 @@
|
||||
#include <exception>
|
||||
|
||||
class LocalBrowserModelException {
|
||||
String message;
|
||||
ByteString message;
|
||||
public:
|
||||
LocalBrowserModelException(String message_): message(message_) {};
|
||||
const char * what() const throw() { return message.ToUtf8().c_str(); };
|
||||
LocalBrowserModelException(String message_): message(message_.ToUtf8()) {};
|
||||
const char * what() const throw() { return message.c_str(); };
|
||||
~LocalBrowserModelException() throw() {};
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user