Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8024971 Fuzzing results on nashorn by Andre
  3. JDK-8026167

Class cache/reuse of 'eval' scripts results in ClassCastException in some cases.

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Icon: P3 P3
    • 8
    • 8
    • core-libs
    • None
    • b113
    • generic
    • generic

      Test case:

      var m = new javax.script.ScriptEngineManager();
      var e = m.getEngineByName('js');

      e.eval('function f(e){ eval("e") } f()');
      e.eval('function f(){ var e = 33; eval("e") } f()')

      The above throws Exception in thread "main" java.lang.ClassCastException: Cannot cast jdk.nashorn.internal.scripts.JO2P0 to jdk.nashorn.internal.scripts.JO1P1
      at sun.invoke.util.ValueConversions.newClassCastException(ValueConversions.java:461)
      at sun.invoke.util.ValueConversions.castReference(ValueConversions.java:456)
      at jdk.nashorn.internal.scripts.Script$\^eval\_#1\^eval\_.runScript(<eval>#1<eval>:1)

            sundar Sundararajan Athijegannathan
            sundar Sundararajan Athijegannathan
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: