summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Gen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r--cpp/src/slice2java/Gen.cpp4
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;