From: Loïc Blot Date: Mon, 21 Aug 2017 14:07:39 +0000 (+0200) Subject: serialize: use a temporary for SerializeException Exception must always use temporary... X-Git-Tag: 0.4.17~92 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d9c7af109ada1e45074d4615b50b8aab2886c2e3;p=oweals%2Fminetest.git 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 --- diff --git a/src/util/serialize.cpp b/src/util/serialize.cpp index 61d369bc4..a1e6790f4 100644 --- a/src/util/serialize.cpp +++ b/src/util/serialize.cpp @@ -28,8 +28,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include -SerializationError eof_ser_err("Attempted read past end of data"); - //// //// BufReader //// diff --git a/src/util/serialize.h b/src/util/serialize.h index e22434191..a864d21ab 100644 --- a/src/util/serialize.h +++ b/src/util/serialize.h @@ -429,8 +429,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) \ { \ @@ -446,7 +444,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; \ } @@ -504,7 +502,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()