From 3be25aa899e046865e393e485ffd89c27737669f Mon Sep 17 00:00:00 2001 From: boris-unckel Date: Thu, 29 Jul 2021 08:09:13 +0200 Subject: [PATCH] HHH-14760 Close resource - potential resource leak Fixes https://hibernate.atlassian.net/browse/HHH-14760 --- .../main/java/org/hibernate/tool/hbm2ddl/SchemaExport.java | 4 +++- .../main/java/org/hibernate/tool/hbm2ddl/SchemaUpdate.java | 4 +++- .../java/org/hibernate/tool/hbm2ddl/SchemaValidator.java | 4 +++- .../org/hibernate/tool/hbm2ddl/SchemaValidatorTask.java | 4 +++- .../org/hibernate/jpamodelgen/xml/JpaDescriptorParser.java | 6 ++---- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaExport.java b/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaExport.java index 49e8a12c39..f18ee8b495 100644 --- a/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaExport.java +++ b/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaExport.java @@ -416,7 +416,9 @@ public class SchemaExport { Properties properties = new Properties(); if ( commandLineArgs.propertiesFile != null ) { - properties.load( new FileInputStream( commandLineArgs.propertiesFile ) ); + try ( final FileInputStream fis = new FileInputStream( commandLineArgs.propertiesFile ) ) { + properties.load( fis ); + } } ssrBuilder.applySettings( properties ); diff --git a/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaUpdate.java b/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaUpdate.java index 6df3025718..25bc9089f7 100644 --- a/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaUpdate.java +++ b/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaUpdate.java @@ -180,7 +180,9 @@ public class SchemaUpdate { if ( parsedArgs.propertiesFile != null ) { Properties props = new Properties(); - props.load( new FileInputStream( parsedArgs.propertiesFile ) ); + try ( final FileInputStream fis = new FileInputStream( parsedArgs.propertiesFile ) ) { + props.load( fis ); + } ssrBuilder.applySettings( props ); } diff --git a/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaValidator.java b/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaValidator.java index 34c58eb340..8b5393e1f0 100755 --- a/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaValidator.java +++ b/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaValidator.java @@ -137,7 +137,9 @@ public class SchemaValidator { if ( parsedArgs.propertiesFile != null ) { Properties properties = new Properties(); - properties.load( new FileInputStream( parsedArgs.propertiesFile ) ); + try ( final FileInputStream fis = new FileInputStream( parsedArgs.propertiesFile ) ) { + properties.load( fis ); + } ssrBuilder.applySettings( properties ); } diff --git a/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaValidatorTask.java b/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaValidatorTask.java index 41f545bc4f..6e28952fbd 100755 --- a/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaValidatorTask.java +++ b/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/SchemaValidatorTask.java @@ -160,7 +160,9 @@ public class SchemaValidatorTask extends MatchingTask { properties.putAll( getProject().getProperties() ); } else { - properties.load( new FileInputStream( propertiesFile ) ); + try ( final FileInputStream fis = new FileInputStream( propertiesFile ) ) { + properties.load( fis ); + } } registryBuilder.applySettings( properties ); diff --git a/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/xml/JpaDescriptorParser.java b/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/xml/JpaDescriptorParser.java index 2eb8c5af53..537a963fcd 100644 --- a/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/xml/JpaDescriptorParser.java +++ b/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/xml/JpaDescriptorParser.java @@ -197,11 +197,9 @@ public class JpaDescriptorParser { } private void saveTimeStampCache(FileTimeStampChecker fileStampCheck) { - try { - File file = getSerializationTmpFile(); - ObjectOutput out = new ObjectOutputStream( new FileOutputStream( file ) ); + final File file = getSerializationTmpFile(); + try ( final ObjectOutput out = new ObjectOutputStream( new FileOutputStream( file ) ) ) { out.writeObject( fileStampCheck ); - out.close(); context.logMessage( Diagnostic.Kind.OTHER, "Serialized " + fileStampCheck + " into " + file.getAbsolutePath() );