serialize: use a temporary for SerializeException

Exception must always use temporary instead of global copied exception instances, it's not recommended and should have undefined issues
This commit is contained in:
Loïc Blot 2017-08-21 16:07:39 +02:00
parent 1dd535c0c6
commit e2a6b7c8d2
2 changed files with 2 additions and 6 deletions

View file

@ -28,8 +28,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <iomanip> #include <iomanip>
#include <vector> #include <vector>
SerializationError eof_ser_err("Attempted read past end of data");
//// ////
//// BufReader //// BufReader
//// ////

View file

@ -428,8 +428,6 @@ bool deSerializeStringToStruct(std::string valstr,
//// BufReader //// BufReader
//// ////
extern SerializationError eof_ser_err;
#define MAKE_BUFREADER_GETNOEX_FXN(T, N, S) \ #define MAKE_BUFREADER_GETNOEX_FXN(T, N, S) \
inline bool get ## N ## NoEx(T *val) \ inline bool get ## N ## NoEx(T *val) \
{ \ { \
@ -445,7 +443,7 @@ extern SerializationError eof_ser_err;
{ \ { \
T val; \ T val; \
if (!get ## N ## NoEx(&val)) \ if (!get ## N ## NoEx(&val)) \
throw eof_ser_err; \ throw SerializationError("Attempted read past end of data"); \
return val; \ return val; \
} }
@ -502,7 +500,7 @@ class BufReader {
inline void getRawData(void *val, size_t len) inline void getRawData(void *val, size_t len)
{ {
if (!getRawDataNoEx(val, len)) if (!getRawDataNoEx(val, len))
throw eof_ser_err; throw SerializationError("Attempted read past end of data");
} }
inline size_t remaining() inline size_t remaining()