summaryrefslogtreecommitdiff
path: root/cpp/src/FreezeScript/AssignVisitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/FreezeScript/AssignVisitor.cpp')
-rw-r--r--cpp/src/FreezeScript/AssignVisitor.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpp/src/FreezeScript/AssignVisitor.cpp b/cpp/src/FreezeScript/AssignVisitor.cpp
index 1037e6e96a3..ec1fb7ea5da 100644
--- a/cpp/src/FreezeScript/AssignVisitor.cpp
+++ b/cpp/src/FreezeScript/AssignVisitor.cpp
@@ -162,7 +162,8 @@ FreezeScript::AssignVisitor::visitEnum(const EnumDataPtr& dest)
{
if(_convert)
{
- if(!dest->setValue(i->integerValue()))
+ Ice::Long l = i->integerValue();
+ if(l < 0 || l > INT_MAX || !dest->setValue(static_cast<Ice::Int>(l)))
{
rangeError(i->toString(), type);
}