summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/PicklerI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/PicklerI.cpp')
-rw-r--r--cpp/src/Ice/PicklerI.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/cpp/src/Ice/PicklerI.cpp b/cpp/src/Ice/PicklerI.cpp
index 43b99aafee7..fc2317e60c0 100644
--- a/cpp/src/Ice/PicklerI.cpp
+++ b/cpp/src/Ice/PicklerI.cpp
@@ -11,6 +11,7 @@
#include <Ice/PicklerI.h>
#include <Ice/Stream.h>
#include <Ice/LocalException.h>
+#include <Ice/Protocol.h>
using namespace std;
using namespace Ice;
@@ -34,8 +35,8 @@ ObjectPtr
Ice::PicklerI::unpickle(std::istream& in)
{
Stream s(_instance);
- s.b.resize(5);
- in.read(s.b.begin(), 5);
+ s.b.resize(encapsHeaderSize);
+ in.read(s.b.begin(), encapsHeaderSize);
if (in.eof())
{
throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
@@ -53,8 +54,8 @@ Ice::PicklerI::unpickle(std::istream& in)
// Don't use s.b.resize() here, otherwise no size sanity checks
// will be done
- s.resize(5 + sz);
- in.read(s.b.begin() + 5, sz);
+ s.resize(encapsHeaderSize + sz);
+ in.read(s.b.begin() + encapsHeaderSize, sz);
if (in.eof())
{
throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);