From e2a6b7c8d29a674504f80b7948a71c4a36af4ad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Blot?= Date: Mon, 21 Aug 2017 16:07:39 +0200 Subject: 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 --- src/util/serialize.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/util/serialize.h') diff --git a/src/util/serialize.h b/src/util/serialize.h index 0a1c96205..f2b0dab2f 100644 --- a/src/util/serialize.h +++ b/src/util/serialize.h @@ -428,8 +428,6 @@ bool deSerializeStringToStruct(std::string valstr, //// BufReader //// -extern SerializationError eof_ser_err; - #define MAKE_BUFREADER_GETNOEX_FXN(T, N, S) \ inline bool get ## N ## NoEx(T *val) \ { \ @@ -445,7 +443,7 @@ extern SerializationError eof_ser_err; { \ T val; \ if (!get ## N ## NoEx(&val)) \ - throw eof_ser_err; \ + throw SerializationError("Attempted read past end of data"); \ return val; \ } @@ -502,7 +500,7 @@ public: inline void getRawData(void *val, size_t len) { if (!getRawDataNoEx(val, len)) - throw eof_ser_err; + throw SerializationError("Attempted read past end of data"); } inline size_t remaining() -- cgit v1.2.3