Author: toad
Date: 2006-05-05 17:52:51 +0000 (Fri, 05 May 2006)
New Revision: 8608
Modified:
trunk/freenet/src/freenet/clients/http/filter/HTMLFilter.java
trunk/freenet/src/freenet/node/Version.java
Log:
695: Fix rare NPE in content filter (fixes frost chinese support page).
Modified: trunk/freenet/src/freenet/clients/http/filter/HTMLFilter.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/filter/HTMLFilter.java
2006-05-05 17:30:56 UTC (rev 8607)
+++ trunk/freenet/src/freenet/clients/http/filter/HTMLFilter.java
2006-05-05 17:52:51 UTC (rev 8608)
@@ -464,10 +464,10 @@
}
static class ParsedTag {
- String element = null;
- String[] unparsedAttrs = null;
- boolean startSlash = false;
- boolean endSlash = false;
+ final String element;
+ final String[] unparsedAttrs;
+ final boolean startSlash;
+ final boolean endSlash;
/*
* public ParsedTag(ParsedTag t) { this.element = t.element;
* this.unparsedAttrs = (String[]) t.unparsedAttrs.clone();
@@ -482,8 +482,12 @@
public ParsedTag(Vector v) {
int len = v.size();
- if (len == 0)
+ if (len == 0) {
+ element = null;
+ unparsedAttrs = new String[0];
+ startSlash = endSlash = false;
return;
+ }
String s = (String) v.elementAt(len - 1);
if ((len - 1 != 0 || s.length() > 1) &&
s.endsWith("/")) {
s = s.substring(0, s.length() - 1);
@@ -492,19 +496,20 @@
len--;
endSlash = true;
// Don't need to set it back because everything
is an I-value
- }
+ } else endSlash = false;
s = (String) v.elementAt(0);
if (s.length() > 1 && s.startsWith("/")) {
s = s.substring(1);
v.setElementAt(s, 0);
startSlash = true;
- }
+ } else startSlash = false;
element = (String) v.elementAt(0);
if (len > 1) {
unparsedAttrs = new String[len - 1];
for (int x = 1; x < len; x++)
unparsedAttrs[x - 1] = (String)
v.elementAt(x);
- }
+ } else
+ unparsedAttrs = new String[0];
Logger.minor(this, "Element = "+element);
}
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-05-05 17:30:56 UTC (rev
8607)
+++ trunk/freenet/src/freenet/node/Version.java 2006-05-05 17:52:51 UTC (rev
8608)
@@ -20,7 +20,7 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 674;
+ private static final int buildNumber = 675;
/** Oldest build of Fred we will talk to */
private static final int lastGoodBuild = 591;