From 8790877c9255026fffcba22ef866215c7b151cf2 Mon Sep 17 00:00:00 2001 From: Lennart Goedhart <lennart@omnibase.com.au> Date: Wed, 11 May 2016 19:44:53 +1000 Subject: [PATCH] Properly close DB handles so that we don't leak them. --- .../medtronic/data/CNLConfigDbHelper.java | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigDbHelper.java b/app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigDbHelper.java index 5e0841a..7fe755d 100644 --- a/app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigDbHelper.java +++ b/app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigDbHelper.java @@ -58,6 +58,7 @@ public class CNLConfigDbHelper extends SQLiteOpenHelper { insertValues.put(CNLConfigContract.ConfigEntry.COLUMN_NAME_KEY, ""); insertValues.put(CNLConfigContract.ConfigEntry.COLUMN_NAME_LAST_RADIO_CHANNEL, 0x14 ); configDb.insertWithOnConflict(CNLConfigContract.ConfigEntry.TABLE_NAME, null, insertValues, SQLiteDatabase.CONFLICT_IGNORE); + configDb.close(); } public String getHmac( String stickSerial ){ @@ -67,14 +68,16 @@ public class CNLConfigDbHelper extends SQLiteOpenHelper { new String[] { CNLConfigContract.ConfigEntry.COLUMN_NAME_HMAC }, CNLConfigContract.ConfigEntry.COLUMN_NAME_STICK_SERIAL + " = ?", new String[]{ stickSerial }, null, null, null); + String hmac = null; + if (cursor != null && cursor.moveToFirst()) { - String hmac = cursor.getString(cursor.getColumnIndex(CNLConfigContract.ConfigEntry.COLUMN_NAME_HMAC)); + hmac = cursor.getString(cursor.getColumnIndex(CNLConfigContract.ConfigEntry.COLUMN_NAME_HMAC)); cursor.close(); - - return hmac; - } else { - return null; } + + configDb.close(); + + return hmac; } public String getKey( String stickSerial ){ @@ -84,14 +87,16 @@ public class CNLConfigDbHelper extends SQLiteOpenHelper { new String[] { CNLConfigContract.ConfigEntry.COLUMN_NAME_KEY }, CNLConfigContract.ConfigEntry.COLUMN_NAME_STICK_SERIAL + " = ?", new String[]{ stickSerial }, null, null, null); + String key = null; + if (cursor != null && cursor.moveToFirst()) { - String hmac = cursor.getString(cursor.getColumnIndex(CNLConfigContract.ConfigEntry.COLUMN_NAME_KEY)); + key = cursor.getString(cursor.getColumnIndex(CNLConfigContract.ConfigEntry.COLUMN_NAME_KEY)); cursor.close(); - - return hmac; - } else { - return null; } + + configDb.close(); + + return key; } public int setHmacAndKey( String stickSerial, String hmac, String key ) { @@ -112,6 +117,7 @@ public class CNLConfigDbHelper extends SQLiteOpenHelper { whereArgs ); + configDb.close(); return affectedRows; } -- GitLab