3838import java .io .IOException ;
3939import java .io .InputStream ;
4040
41+ import java .nio .file .Files ;
42+ import java .nio .file .Path ;
4143import java .util .List ;
4244import java .util .logging .Level ;
4345import java .util .logging .Logger ;
46+ import jenkins .model .Jenkins ;
4447import org .apache .commons .fileupload .FileItem ;
4548import org .apache .commons .io .FileUtils ;
4649import org .jenkinsci .plugins .workflow .flow .FlowExecutionOwner ;
@@ -53,7 +56,7 @@ public final class StashedFileParameterValue extends AbstractFileParameterValue
5356
5457 private static final long serialVersionUID = 1L ;
5558
56- private final String tmpFile ;
59+ private String tmpFile ;
5760
5861 @ DataBoundConstructor public StashedFileParameterValue (String name , FileItem file ) throws IOException {
5962 this (name , file .getInputStream ());
@@ -63,7 +66,9 @@ public final class StashedFileParameterValue extends AbstractFileParameterValue
6366
6467 StashedFileParameterValue (String name , InputStream src ) throws IOException {
6568 super (name );
66- File tmp = new File (Util .createTempDir (), name );
69+ Path dir = Util .createDirectories (Util .fileToPath (new File (Jenkins .get ().getRootDir (), "stashedFileParameterValueFiles" )));
70+ File tmpDir = Files .createTempDirectory (dir , null ).toFile ();
71+ File tmp = new File (tmpDir , name );
6772 FileUtils .copyInputStreamToFile (src , tmp );
6873 tmpFile = tmp .getAbsolutePath ();
6974 }
@@ -83,6 +88,7 @@ public final class StashedFileParameterValue extends AbstractFileParameterValue
8388 }
8489 try {
8590 FileUtils .deleteDirectory (tmp .getParentFile ());
91+ tmpFile = null ;
8692 } catch (IOException e ) {
8793 throw new RuntimeException (e );
8894 }
0 commit comments