diff options
author | Mark Spruiell <mes@zeroc.com> | 2004-07-08 16:42:56 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2004-07-08 16:42:56 +0000 |
commit | 9b04771dac14ed57c80b4410b5269473cac5746c (patch) | |
tree | 810493bc1340181d2c3c606aafbe9dee81a162bd /cpp/src/slice2java/Gen.cpp | |
parent | changing version to 1.5.0; renaming Ice/SliceChecksum to Ice/SliceChecksums (diff) | |
download | ice-9b04771dac14ed57c80b4410b5269473cac5746c.tar.bz2 ice-9b04771dac14ed57c80b4410b5269473cac5746c.tar.xz ice-9b04771dac14ed57c80b4410b5269473cac5746c.zip |
needed more error checking in enum unmarshaling
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; |