diff options
author | Matthew Newhook <matthew@zeroc.com> | 2007-05-03 01:21:24 +0000 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2007-05-03 01:21:24 +0000 |
commit | 2c24e1caef54866f9c7be16d33841bc5fe165ed5 (patch) | |
tree | 8bf3fe067cc059dd8ea65cb9973252c17ee153aa | |
parent | http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=2118. Minor edit to (diff) | |
download | ice-2c24e1caef54866f9c7be16d33841bc5fe165ed5.tar.bz2 ice-2c24e1caef54866f9c7be16d33841bc5fe165ed5.tar.xz ice-2c24e1caef54866f9c7be16d33841bc5fe165ed5.zip |
http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=2118
-rwxr-xr-x | javae/CHANGES | 5 | ||||
-rw-r--r-- | javae/src/IceInternal/ReferenceFactory.java | 14 |
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; |