changeset 2496:1a3e8347f3dd

7118749: NPE in CreateSymbols caused by bad diagnostic Reviewed-by: jjg
author kizune
date Tue, 01 Oct 2013 17:03:31 +0400
parents 84161510f257
children de1c5dbe6c28
files src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java
diffstat 1 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java	Sat Sep 28 13:46:14 2013 -0400
+++ b/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java	Tue Oct 01 17:03:31 2013 +0400
@@ -107,15 +107,21 @@
             if (renv.processingOver())
                 createSymbols();
         } catch (IOException e) {
+            CharSequence msg = e.getLocalizedMessage();
+            if (msg == null)
+                msg = e.toString();
             processingEnv.getMessager()
-                .printMessage(Diagnostic.Kind.ERROR, e.getLocalizedMessage());
+                .printMessage(Diagnostic.Kind.ERROR, msg);
         } catch (Throwable t) {
             t.printStackTrace();
             Throwable cause = t.getCause();
             if (cause == null)
                 cause = t;
+            CharSequence msg = cause.getLocalizedMessage();
+            if (msg == null)
+                msg = cause.toString();
             processingEnv.getMessager()
-                .printMessage(Diagnostic.Kind.ERROR, cause.getLocalizedMessage());
+                .printMessage(Diagnostic.Kind.ERROR, msg);
         }
         return true;
     }