[Fb-contrib-commit] SF.net SVN: fb-contrib: [815] trunk/fb-contrib/src/com/mebigfatguy/ fbcontrib/
Brought to you by:
dbrosius
From: <dbr...@us...> - 2007-02-01 08:28:00
|
Revision: 815 http://svn.sourceforge.net/fb-contrib/?rev=815&view=rev Author: dbrosius Date: 2007-02-01 00:28:00 -0800 (Thu, 01 Feb 2007) Log Message: ----------- more updates - still miles away Modified Paths: -------------- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousJDKVersionUse.java Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousJDKVersionUse.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousJDKVersionUse.java 2007-02-01 08:15:34 UTC (rev 814) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousJDKVersionUse.java 2007-02-01 08:28:00 UTC (rev 815) @@ -33,6 +33,7 @@ import java.util.regex.Pattern; import org.apache.bcel.Constants; +import org.apache.bcel.classfile.ClassParser; import org.apache.bcel.classfile.JavaClass; import com.mebigfatguy.fbcontrib.utils.Integer14; @@ -68,6 +69,12 @@ validMethodsByVersion = new HashMap<Integer, Map<String, Set<String>>>(); } + /* + * Use BCEL to load class, not URLClassLoader + * + * ClassParser parser = new ClassParser(is, className); + * JavaClass clazz = parser.parse(); + */ @Override public void visitClassContext(ClassContext classContext) { try { @@ -110,10 +117,24 @@ for (Method m : methods) { if ((m.getModifiers() & Modifier.PRIVATE) == 0) { - methodInfos.add(m.toString()); + String[] mi = m.toString().split("\\(\\)"); + int dotPos = mi[0].lastIndexOf('.'); + String name = mi[0].substring(dotPos+1); + String sig; + if (mi.length == 1) + sig = "()"; + else { + if (mi[1].trim().startsWith("throws")) + sig = "()"; + else + sig = "(" + mi[1] + ")"; + } + methodInfos.add(name + sig); } } } + + } } } catch (ClassNotFoundException cnfe) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |