Skip to content

Commit

Permalink
Fix inadvertent closing of System.out when printing configuration (#366)
Browse files Browse the repository at this point in the history
Co-authored-by: Blend Hamiti <blend.hamiti@guardsquare.com>
  • Loading branch information
sratz and blendhamiti committed Oct 25, 2023
1 parent 813616d commit 6f3610b
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 5 deletions.
4 changes: 3 additions & 1 deletion base/src/main/java/proguard/ConfigurationWriter.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ public class ConfigurationWriter implements AutoCloseable


private final PrintWriter writer;
private File configurationFile;
private File baseDir;


Expand All @@ -60,6 +61,7 @@ public ConfigurationWriter(File configurationFile) throws IOException
{
this(PrintWriterUtil.createPrintWriterOut(configurationFile));

this.configurationFile = configurationFile;
baseDir = configurationFile.getParentFile();
}

Expand All @@ -79,7 +81,7 @@ public ConfigurationWriter(PrintWriter writer) throws IOException
@Override
public void close() throws IOException
{
PrintWriterUtil.closePrintWriter(baseDir, writer);
PrintWriterUtil.closePrintWriter(configurationFile, writer);
}


Expand Down
5 changes: 1 addition & 4 deletions base/src/main/java/proguard/ProGuard.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@
import proguard.util.ConstantMatcher;
import proguard.util.ListParser;
import proguard.util.NameParser;
import proguard.util.PrintWriterUtil;
import proguard.util.StringMatcher;
import proguard.util.kotlin.KotlinUnsupportedVersionChecker;
import proguard.util.kotlin.asserter.KotlinMetadataVerifier;
Expand Down Expand Up @@ -297,9 +296,7 @@ private boolean requiresKotlinMetadata()
*/
private void printConfiguration() throws IOException
{
PrintWriter pw = PrintWriterUtil.createPrintWriterOut(configuration.printConfiguration);

try (ConfigurationWriter configurationWriter = new ConfigurationWriter(pw))
try (ConfigurationWriter configurationWriter = new ConfigurationWriter(configuration.printConfiguration))
{
configurationWriter.write(configuration);
}
Expand Down
6 changes: 6 additions & 0 deletions docs/md/manual/releasenotes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## Version 7.4.1

### Bugfixes

- Fix inadvertent closing of System.out when printing configuration. (#365)

## Version 7.4

### Java support
Expand Down

0 comments on commit 6f3610b

Please sign in to comment.