summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2007-05-03 01:21:24 +0000
committerMatthew Newhook <matthew@zeroc.com>2007-05-03 01:21:24 +0000
commit2c24e1caef54866f9c7be16d33841bc5fe165ed5 (patch)
tree8bf3fe067cc059dd8ea65cb9973252c17ee153aa
parenthttp://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=2118. Minor edit to (diff)
downloadice-2c24e1caef54866f9c7be16d33841bc5fe165ed5.tar.bz2
ice-2c24e1caef54866f9c7be16d33841bc5fe165ed5.tar.xz
ice-2c24e1caef54866f9c7be16d33841bc5fe165ed5.zip
http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=2118
-rwxr-xr-xjavae/CHANGES5
-rw-r--r--javae/src/IceInternal/ReferenceFactory.java14
2 files changed, 18 insertions, 1 deletions
diff --git a/javae/CHANGES b/javae/CHANGES
index 99b07fa2739..bfb84e5b738 100755
--- a/javae/CHANGES
+++ b/javae/CHANGES
@@ -1,6 +1,11 @@
Changes since version 1.1.0
---------------------------
+- Trailing characters past the adapter id in a stringified proxy
+ will now raise a ProxyParseException.
+
+- Added ice_getAdapterId/ice_adapterId proxy methods.
+
- Removed default context support.
- Removed support for local interfaces in Slice.
diff --git a/javae/src/IceInternal/ReferenceFactory.java b/javae/src/IceInternal/ReferenceFactory.java
index 2bfd3e0d507..b1c18eb56ba 100644
--- a/javae/src/IceInternal/ReferenceFactory.java
+++ b/javae/src/IceInternal/ReferenceFactory.java
@@ -446,6 +446,7 @@ public final class ReferenceFactory
throw e;
}
+ String adapterstr = null;
end = IceUtil.StringUtil.checkQuote(s, beg);
if(end == -1)
{
@@ -460,14 +461,25 @@ public final class ReferenceFactory
{
end = s.length();
}
+ adapterstr = s.substring(beg, end);
}
else
{
beg++; // Skip leading quote
+ adapterstr = s.substring(beg, end);
+ end++; // Skip trailing quote
}
+ if(end != s.length() && IceUtil.StringUtil.findFirstNotOf(s, delim, end) != -1)
+ {
+ Ice.ProxyParseException e = new Ice.ProxyParseException();
+ e.str = s;
+ throw e;
+ }
+
Ice.StringHolder token = new Ice.StringHolder();
- if(!IceUtil.StringUtil.unescapeString(s, beg, end, token) || token.value.length() == 0)
+ if(!IceUtil.StringUtil.unescapeString(adapterstr, 0, adapterstr.length(), token) ||
+ token.value.length() == 0)
{
Ice.ProxyParseException e = new Ice.ProxyParseException();
e.str = s;