diff options
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r-- | cpp/src/slice2java/Gen.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index bb14ccb96aa..98f0c5dfc01 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -1984,6 +1984,10 @@ Slice::Gen::TypesVisitor::visitEnum(const EnumPtr& p) { out << nl << "int __v = __is.readInt();"; } + out << nl << "if(__v < 0 || __v >= " << sz << ')'; + out << sb; + out << nl << "throw new Ice.MarshalException();"; + out << eb; out << nl << "return " << name << ".convert(__v);"; out << eb; |