Ver Fonte

Attempting to fix some possible memory leaks. Son't know if I'm actually
helping anything though.

gmcferrin há 12 anos atrás
pai
commit
2b6b7b899e

+ 12 - 2
src/main/java/com/gmail/nossr50/spout/SpoutStuff.java

@@ -48,6 +48,7 @@ public class SpoutStuff {
      * @param theFilePath The name of the file path
      */
     private static void writeFile(String theFileName, String theFilePath) {
+        InputStream is = null;
         OutputStream os = null;
         JarFile jar = null;
 
@@ -56,7 +57,7 @@ public class SpoutStuff {
 
             jar = new JarFile(mcMMO.mcmmo);
             JarEntry entry = jar.getJarEntry("resources/" + theFileName);
-            InputStream is = jar.getInputStream(entry);
+            is = jar.getInputStream(entry);
 
             byte[] buf = new byte[2048];
             int nbRead;
@@ -66,6 +67,8 @@ public class SpoutStuff {
             while ((nbRead = is.read(buf)) != -1) {
                 os.write(buf, 0, nbRead);
             }
+
+            os.flush();
         }
         catch (FileNotFoundException e) {
             e.printStackTrace();
@@ -74,9 +77,16 @@ public class SpoutStuff {
             e.printStackTrace();
         }
         finally {
+            if (is != null) {
+                try {
+                    is.close();
+                }
+                catch (IOException ex) {
+                    ex.printStackTrace();
+                }
+            }
             if (os != null) {
                 try {
-                    os.flush();
                     os.close();
                 }
                 catch (IOException ex) {

+ 1 - 1
src/main/java/com/gmail/nossr50/util/Database.java

@@ -155,7 +155,7 @@ public class Database {
 
         PreparedStatement statement = null;
         try {
-        	if(!checkConnected()) return;
+            if(!checkConnected()) return;
             statement = connection.prepareStatement(sql);
             resultSet = statement.executeQuery();