X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FFrameworkTasks%2Forg%2Ftianocore%2Fframework%2Ftasks%2FGenFfsFileTask.java;h=4cbbfab8c6ec34c1a8a07d962015b853726425fd;hp=cbe20f02960aa12b715422bc26ba9c33e0be7a04;hb=c493be6c9d2829c73e2e884846d098d955738f62;hpb=8554faeb7d9dc858c56d6cdfc0e449b152ce52d7 diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFfsFileTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFfsFileTask.java index cbe20f0296..4cbbfab8c6 100644 --- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFfsFileTask.java +++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFfsFileTask.java @@ -150,7 +150,6 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes { if (this.ffsFileType.equals("")) { throw new BuildException ("Must set ffsFileType!\n"); } - // // Create ffs file. File name = FfsFileGuid + BaseName + ffsSuffix. // If outputDir's value was set, file will output to the outputDir. @@ -169,7 +168,16 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes { String ffsFilePath = outputPath + this.ffsFileGuid + '-' + this.baseName + ffsSuffix; File ffsFile = new File (ffsFilePath); - genFfs(ffsFile); + try{ + genFfs(ffsFile); + }catch (BuildException e){ + if (ffsFile != null && ffsFile.exists()){ + ffsFile.deleteOnExit(); + } + throw new BuildException(e.getMessage()); + + } + } /** @@ -742,7 +750,7 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes { @param ffsFile Name of FFS file. @param isOrg Flag to indicate generate ORG ffs file or not. **/ - private void genFfs(File ffsFile) { + private void genFfs(File ffsFile) throws BuildException { Section sect; int fileSize; int fileDataSize; @@ -772,6 +780,9 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes { // sect.toBuffer((DataOutputStream)dataBuffer); } catch (Exception e) { + if (dataBuffer != null){ + dataBuffer.close(); + } throw new BuildException (e.getMessage()); } }