summaryrefslogtreecommitdiff
path: root/java/src/ant/SliceTask.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/ant/SliceTask.java')
-rw-r--r--java/src/ant/SliceTask.java17
1 files changed, 14 insertions, 3 deletions
diff --git a/java/src/ant/SliceTask.java b/java/src/ant/SliceTask.java
index 1cf6f3a5eab..012043c4159 100644
--- a/java/src/ant/SliceTask.java
+++ b/java/src/ant/SliceTask.java
@@ -259,7 +259,15 @@ public class SliceTask extends org.apache.tools.ant.Task
pos = 0;
while(pos < chars.length)
{
- if(Character.isWhitespace(chars[pos]))
+ if(chars[pos] == '\\') // Skip backslash of an escaped character.
+ {
+ if(pos + 1 >= chars.length)
+ {
+ throw new BuildException("dependency parse failure");
+ }
+ file.append(chars[++pos]);
+ }
+ else if(Character.isWhitespace(chars[pos]))
{
if(file.length() > 0)
{
@@ -267,7 +275,7 @@ public class SliceTask extends org.apache.tools.ant.Task
file = new StringBuilder(128);
}
}
- else if(chars[pos] != '\\') // Skip backslash of an escaped character.
+ else
{
file.append(chars[pos]);
}
@@ -287,7 +295,10 @@ public class SliceTask extends org.apache.tools.ant.Task
l.toArray(depend._dependencies);
depend._timeStamp = new java.util.Date().getTime();
pos = depend._dependencies[0].lastIndexOf(':');
- assert(pos == depend._dependencies[0].length() - 1);
+ if(pos != depend._dependencies[0].length() - 1)
+ {
+ throw new BuildException("dependency parse failure");
+ }
depend._dependencies[0] = depend._dependencies[0].substring(0, pos);
for(int i = 0; i < depend._dependencies.length; ++i)
{