From 405054f0c27d552a496725d7dee6fd7b10a0fb61 Mon Sep 17 00:00:00 2001 From: Lourens Elzinga Date: Sat, 25 May 2013 01:25:23 +0200 Subject: [PATCH] Added OutOfMemoryError exception handling to PanelListener (can occur when using the getFileContents API call) --- src/me/neatmonster/spacertk/PanelListener.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/me/neatmonster/spacertk/PanelListener.java b/src/me/neatmonster/spacertk/PanelListener.java index 607c0af..86d7df0 100644 --- a/src/me/neatmonster/spacertk/PanelListener.java +++ b/src/me/neatmonster/spacertk/PanelListener.java @@ -197,7 +197,12 @@ public void run() { } else { final Object result = interpret(string); if (result != null) - output.println(Utilities.addHeader(JSONValue.toJSONString(result))); + try { + output.println(Utilities.addHeader(JSONValue.toJSONString(result))); + } catch (OutOfMemoryError e) { + System.gc(); + output.println(Utilities.addHeader(null)); + } else output.println(Utilities.addHeader(null)); } @@ -209,7 +214,12 @@ else if (string.startsWith("multiple") && string.contains("?method=") && string. if (string.contains("&key=" + Utilities.crypt(method + SpaceRTK.getInstance().salt))) { final Object result = interpretm(string); if (result != null) - output.println(Utilities.addHeader(JSONValue.toJSONString(result))); + try { + output.println(Utilities.addHeader(JSONValue.toJSONString(result))); + } catch (OutOfMemoryError e) { + System.gc(); + output.println(Utilities.addHeader(null)); + } else output.println(Utilities.addHeader(null)); } else