diff options
author | Matthew Newhook <matthew@zeroc.com> | 2007-04-27 08:31:47 +0000 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2007-04-27 08:31:47 +0000 |
commit | 49e46bc0f64b88e16aa9c0ecd8c6ed10914e75d0 (patch) | |
tree | 26730fcae5d683183069533d5603425de1162e0c /java/src/IceInternal/ReferenceFactory.java | |
parent | file run.py was initially added on branch R3_2_branch. (diff) | |
download | ice-49e46bc0f64b88e16aa9c0ecd8c6ed10914e75d0.tar.bz2 ice-49e46bc0f64b88e16aa9c0ecd8c6ed10914e75d0.tar.xz ice-49e46bc0f64b88e16aa9c0ecd8c6ed10914e75d0.zip |
http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=2118
Diffstat (limited to 'java/src/IceInternal/ReferenceFactory.java')
-rw-r--r-- | java/src/IceInternal/ReferenceFactory.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/java/src/IceInternal/ReferenceFactory.java b/java/src/IceInternal/ReferenceFactory.java index dfb8c4b4d12..8cd07cfa7c7 100644 --- a/java/src/IceInternal/ReferenceFactory.java +++ b/java/src/IceInternal/ReferenceFactory.java @@ -471,6 +471,7 @@ public final class ReferenceFactory throw e; } + String adapterstr = null; end = IceUtil.StringUtil.checkQuote(s, beg); if(end == -1) { @@ -485,14 +486,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; |