From 7078789a39f51e473bdf864e16202f67ce8ca219 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Wed, 17 Nov 2010 11:31:12 -0800 Subject: [PATCH] More cleanups from CloseGuard reports. Change-Id: Ib3d5428073563d564fe45475127eb2cec177ab49 --- .../settings/SettingsBackupAgent.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java index b98071e31af03..fa63edbd9842b 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java @@ -16,6 +16,7 @@ package com.android.providers.settings; +import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataInputStream; @@ -27,6 +28,7 @@ import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.io.OutputStream; import java.util.Arrays; import java.util.zip.CRC32; @@ -352,10 +354,11 @@ public class SettingsBackupAgent extends BackupAgentHelper { } private byte[] getWifiSupplicant(String filename) { + BufferedReader br = null; try { File file = new File(filename); if (file.exists()) { - BufferedReader br = new BufferedReader(new FileReader(file)); + br = new BufferedReader(new FileReader(file)); StringBuffer relevantLines = new StringBuffer(); boolean started = false; String line; @@ -378,6 +381,13 @@ public class SettingsBackupAgent extends BackupAgentHelper { } catch (IOException ioe) { Log.w(TAG, "Couldn't backup " + filename); return EMPTY_DATA; + } finally { + if (br != null) { + try { + br.close(); + } catch (IOException e) { + } + } } } @@ -390,9 +400,10 @@ public class SettingsBackupAgent extends BackupAgentHelper { if (supplicantFile.exists()) supplicantFile.delete(); copyWifiSupplicantTemplate(); - FileOutputStream fos = new FileOutputStream(filename, true); - fos.write("\n".getBytes()); - fos.write(bytes); + OutputStream os = new BufferedOutputStream(new FileOutputStream(filename, true)); + os.write("\n".getBytes()); + os.write(bytes); + os.close(); } catch (IOException ioe) { Log.w(TAG, "Couldn't restore " + filename); }