aboutsummaryrefslogtreecommitdiff
path: root/external/boost/archive/portable_binary_archive.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'external/boost/archive/portable_binary_archive.hpp')
-rw-r--r--external/boost/archive/portable_binary_archive.hpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/external/boost/archive/portable_binary_archive.hpp b/external/boost/archive/portable_binary_archive.hpp
index 560ef121b..e940c5b9e 100644
--- a/external/boost/archive/portable_binary_archive.hpp
+++ b/external/boost/archive/portable_binary_archive.hpp
@@ -14,6 +14,7 @@
#include <boost/config.hpp>
#include <boost/cstdint.hpp>
#include <boost/static_assert.hpp>
+#include <boost/archive/archive_exception.hpp>
#include <climits>
#if CHAR_BIT != 8
@@ -37,7 +38,9 @@ enum portable_binary_archive_flags {
//#endif
inline void
-reverse_bytes(char size, char *address){
+reverse_bytes(signed char size, char *address){
+ if (size <= 0)
+ throw archive_exception(archive_exception::other_exception);
char * first = address;
char * last = first + size - 1;
for(;first < last;++first, --last){