Fix cursor leak

Change-Id: Ibd0e1f0c6d8a2582dedc1047476c810a573ea111
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index f0aa557..bed4043 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -1850,20 +1850,28 @@
 
     private int lookupBookmark(String title, String url) {
         final ContentResolver cr = getActivity().getContentResolver();
-
-        Cursor cursor = cr.query(BrowserContract.Bookmarks.CONTENT_URI,
-                BookmarksLoader.PROJECTION,
-                "title = ? OR url = ?",
-                new String[] {
+        int count = 0;
+        Cursor cursor = null;
+        try {
+            cursor = cr.query(BrowserContract.Bookmarks.CONTENT_URI,
+                    BookmarksLoader.PROJECTION,
+                    "title = ? OR url = ?",
+                    new String[] {
                         title, url
-                },
-                null);
+                    },
+                    null);
 
-        if (cursor == null) {
-            return 0;
+            if (cursor != null)
+                count = cursor.getCount();
+
+        } catch (IllegalStateException e) {
+            Log.e(LOGTAG, "lookupBookmark ", e);
+        } finally {
+            if (null != cursor) {
+                cursor.close();
+            }
         }
-
-        return cursor.getCount();
+        return count;
     }
 
     private void resetMenuItems(Menu menu) {