From 85875db138d8efbc050b5d34dbba19cc9c707db6 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Wed, 10 Apr 2002 14:42:42 +0000 Subject: [PATCH] reset internal state in (bug 7552 audit). git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272345 13f79535-47bb-0310-9956-ffa450edef68 --- src/main/org/apache/tools/ant/taskdefs/Chmod.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/Chmod.java b/src/main/org/apache/tools/ant/taskdefs/Chmod.java index 56938d911..52fd562d4 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Chmod.java +++ b/src/main/org/apache/tools/ant/taskdefs/Chmod.java @@ -172,13 +172,19 @@ public class Chmod extends ExecuteOn { public void execute() throws BuildException { if (defaultSetDefined || defaultSet.getDir(project) == null) { - super.execute(); + try { + super.execute(); + } finally { + filesets.removeElement(defaultSet); + } } else if (isValidOs()) { // we are chmodding the given directory - createArg().setValue(defaultSet.getDir(project).getPath()); Execute execute = prepareExec(); + Commandline cloned = (Commandline) cmdl.clone(); + cloned.createArgument().setValue(defaultSet.getDir(project) + .getPath()); try { - execute.setCommandline(cmdl.getCommandline()); + execute.setCommandline(cloned.getCommandline()); runExecute(execute); } catch (IOException e) { throw new BuildException("Execute failed: " + e, e, location);