From fb199a19338fd7209eca48ad7a3964ddf24345b6 Mon Sep 17 00:00:00 2001 From: Wei Wang Date: Sun, 13 Jan 2013 13:34:09 -0500 Subject: [PATCH] Add a null check because calling getRealPath() in WebLogic servers will produce null with requests that contain '../'. These result in NullPointerExceptions that print stack traces out to the browser. --- .../maring/util/js/JavascriptComboService.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/maring/util/js/JavascriptComboService.java b/src/main/java/org/maring/util/js/JavascriptComboService.java index c785708..60debb5 100755 --- a/src/main/java/org/maring/util/js/JavascriptComboService.java +++ b/src/main/java/org/maring/util/js/JavascriptComboService.java @@ -107,10 +107,17 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp StringBuffer fileData = new StringBuffer(); FileReader fileReader = null; - try { - fileReader = new FileReader(this.getServletContext().getRealPath(fileRef)); - } catch (FileNotFoundException fnfe) { - log.warn("file " + this.getServletContext().getRealPath(fileRef) + " was not found"); + String realPath = this.getServletContext().getRealPath(fileRef); + + if (realPath != null) { + try { + fileReader = new FileReader(this.getServletContext().getRealPath(fileRef)); + } catch (FileNotFoundException fnfe) { + log.warn("file " + this.getServletContext().getRealPath(fileRef) + " was not found"); + continue; + } + } else { + log.warn("file " + fileRef + " was not found"); continue; } BufferedReader reader = new BufferedReader(fileReader);