mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-12-02 05:22:18 -05:00
fix a couple of resource leaks (#1351)
This commit is contained in:
parent
300fd8e0f2
commit
5895385153
@ -303,11 +303,14 @@ public class ContactHelper {
|
|||||||
Cursor contactMasterKey = context.getContentResolver().query(contactUri,
|
Cursor contactMasterKey = context.getContentResolver().query(contactUri,
|
||||||
new String[]{ContactsContract.Data.DATA2}, null, null, null);
|
new String[]{ContactsContract.Data.DATA2}, null, null, null);
|
||||||
if (contactMasterKey != null) {
|
if (contactMasterKey != null) {
|
||||||
|
try {
|
||||||
if (contactMasterKey.moveToNext()) {
|
if (contactMasterKey.moveToNext()) {
|
||||||
return KeychainContract.KeyRings.buildGenericKeyRingUri(contactMasterKey.getLong(0));
|
return KeychainContract.KeyRings.buildGenericKeyRingUri(contactMasterKey.getLong(0));
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
contactMasterKey.close();
|
contactMasterKey.close();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -537,7 +540,7 @@ public class ContactHelper {
|
|||||||
KEYS_TO_CONTACT_PROJECTION,
|
KEYS_TO_CONTACT_PROJECTION,
|
||||||
KeychainContract.KeyRings.HAS_ANY_SECRET + "!=0",
|
KeychainContract.KeyRings.HAS_ANY_SECRET + "!=0",
|
||||||
null, null);
|
null, null);
|
||||||
if (cursor != null) {
|
if (cursor != null) try {
|
||||||
while (cursor.moveToNext()) {
|
while (cursor.moveToNext()) {
|
||||||
long masterKeyId = cursor.getLong(INDEX_MASTER_KEY_ID);
|
long masterKeyId = cursor.getLong(INDEX_MASTER_KEY_ID);
|
||||||
boolean isExpired = cursor.getInt(INDEX_IS_EXPIRED) != 0;
|
boolean isExpired = cursor.getInt(INDEX_IS_EXPIRED) != 0;
|
||||||
@ -565,6 +568,8 @@ public class ContactHelper {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
|
cursor.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (long masterKeyId : keysToDelete) {
|
for (long masterKeyId : keysToDelete) {
|
||||||
|
@ -66,8 +66,10 @@ public class ParcelableFileCache<E extends Parcelable> {
|
|||||||
|
|
||||||
File tempFile = new File(mContext.getCacheDir(), mFilename);
|
File tempFile = new File(mContext.getCacheDir(), mFilename);
|
||||||
|
|
||||||
|
|
||||||
DataOutputStream oos = new DataOutputStream(new FileOutputStream(tempFile));
|
DataOutputStream oos = new DataOutputStream(new FileOutputStream(tempFile));
|
||||||
|
|
||||||
|
try {
|
||||||
oos.writeInt(numEntries);
|
oos.writeInt(numEntries);
|
||||||
|
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
@ -78,8 +80,9 @@ public class ParcelableFileCache<E extends Parcelable> {
|
|||||||
oos.write(buf);
|
oos.write(buf);
|
||||||
p.recycle();
|
p.recycle();
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
oos.close();
|
oos.close();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user