summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ReferenceFactory.cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2004-05-18 06:08:18 +0000
committerMichi Henning <michi@zeroc.com>2004-05-18 06:08:18 +0000
commitc006fece4565417e86535907f64f9e2469723575 (patch)
tree972597e1b21d13f5a26f8cd312e006fbc743e134 /cpp/src/Ice/ReferenceFactory.cpp
parentFixed copyright (diff)
downloadice-c006fece4565417e86535907f64f9e2469723575.tar.bz2
ice-c006fece4565417e86535907f64f9e2469723575.tar.xz
ice-c006fece4565417e86535907f64f9e2469723575.zip
Changed code to throw MarshalException if a request or reply contains a
facet path with more than one element, and to throw ProxyUnmarshalException if a proxy has a facet path with more than on element.
Diffstat (limited to 'cpp/src/Ice/ReferenceFactory.cpp')
-rw-r--r--cpp/src/Ice/ReferenceFactory.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/cpp/src/Ice/ReferenceFactory.cpp b/cpp/src/Ice/ReferenceFactory.cpp
index 1ed3a31992e..2c5e9c0c4dd 100644
--- a/cpp/src/Ice/ReferenceFactory.cpp
+++ b/cpp/src/Ice/ReferenceFactory.cpp
@@ -475,8 +475,12 @@ IceInternal::ReferenceFactory::create(const Identity& ident, BasicStream* s)
vector<string> facetPath;
s->read(facetPath);
string facet;
- if(!facetPath.empty()) // TODO: Throw an exception if facetPath has more than one element?
+ if(!facetPath.empty())
{
+ if(facetPath.size() > 1)
+ {
+ throw ProxyUnmarshalException(__FILE__, __LINE__);
+ }
facet.swap(facetPath[0]);
}