You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by gn...@apache.org on 2017/05/03 13:19:06 UTC

svn commit: r1793643 - /felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Highlighter.java

Author: gnodet
Date: Wed May  3 13:19:06 2017
New Revision: 1793643

URL: http://svn.apache.org/viewvc?rev=1793643&view=rev
Log:
[gogo][jline] Guard against infinite loops in the highlighter

Modified:
    felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Highlighter.java

Modified: felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Highlighter.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Highlighter.java?rev=1793643&r1=1793642&r2=1793643&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Highlighter.java (original)
+++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Highlighter.java Wed May  3 13:19:06 2017
@@ -63,6 +63,10 @@ public class Highlighter extends Default
                     statements = parser.statements();
                 } catch (EOFError e) {
                     repaired = repaired + " " + e.repair();
+                    // Make sure we don't loop forever
+                    if (repaired.length() > buffer.length() + 1024) {
+                        return new AttributedStringBuilder().append(buffer).toAttributedString();
+                    }
                 }
             }