fb-contrib-commit Mailing List for fb-contrib (Page 33)
Brought to you by:
dbrosius
You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(56) |
Oct
(60) |
Nov
(58) |
Dec
(89) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(66) |
Feb
(55) |
Mar
(85) |
Apr
(115) |
May
(35) |
Jun
(28) |
Jul
(3) |
Aug
(48) |
Sep
(37) |
Oct
(22) |
Nov
(14) |
Dec
(66) |
2007 |
Jan
(45) |
Feb
(63) |
Mar
(10) |
Apr
(1) |
May
(1) |
Jun
(12) |
Jul
|
Aug
|
Sep
(25) |
Oct
(21) |
Nov
(39) |
Dec
|
2008 |
Jan
(7) |
Feb
|
Mar
(26) |
Apr
(5) |
May
(2) |
Jun
(32) |
Jul
(9) |
Aug
(10) |
Sep
|
Oct
(3) |
Nov
(1) |
Dec
|
2009 |
Jan
(10) |
Feb
(31) |
Mar
(32) |
Apr
(35) |
May
(25) |
Jun
|
Jul
(31) |
Aug
(10) |
Sep
(95) |
Oct
(35) |
Nov
(10) |
Dec
(34) |
2010 |
Jan
(90) |
Feb
(4) |
Mar
(7) |
Apr
(20) |
May
(20) |
Jun
(13) |
Jul
(7) |
Aug
(18) |
Sep
(25) |
Oct
(4) |
Nov
(16) |
Dec
(2) |
2011 |
Jan
(1) |
Feb
|
Mar
(11) |
Apr
(3) |
May
(2) |
Jun
(26) |
Jul
(10) |
Aug
(2) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(1) |
2012 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(14) |
Nov
(3) |
Dec
(4) |
2013 |
Jan
(3) |
Feb
(2) |
Mar
(1) |
Apr
(4) |
May
|
Jun
(1) |
Jul
(3) |
Aug
|
Sep
|
Oct
(4) |
Nov
(3) |
Dec
(3) |
2014 |
Jan
(4) |
Feb
(2) |
Mar
(4) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(3) |
Dec
(3) |
2016 |
Jan
(2) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
(2) |
Sep
(4) |
Oct
(2) |
Nov
(7) |
Dec
|
2017 |
Jan
(1) |
Feb
|
Mar
(4) |
Apr
(5) |
May
(2) |
Jun
|
Jul
(2) |
Aug
|
Sep
(4) |
Oct
|
Nov
|
Dec
(3) |
2018 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
(5) |
Jun
(2) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <dbr...@us...> - 2008-06-07 05:28:04
|
Revision: 1041 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1041&view=rev Author: dbrosius Date: 2008-06-06 22:28:04 -0700 (Fri, 06 Jun 2008) Log Message: ----------- Tag v3.6.1 Added Paths: ----------- tags/v3_6_1/ Copied: tags/v3_6_1 (from rev 1040, trunk/fb-contrib) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-07 05:19:08
|
Revision: 1040 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1040&view=rev Author: dbrosius Date: 2008-06-06 22:19:13 -0700 (Fri, 06 Jun 2008) Log Message: ----------- get ready for 3.6.1 Modified Paths: -------------- trunk/fb-contrib/build.xml trunk/fb-contrib/etc/findbugs.xml Modified: trunk/fb-contrib/build.xml =================================================================== --- trunk/fb-contrib/build.xml 2008-06-07 04:48:44 UTC (rev 1039) +++ trunk/fb-contrib/build.xml 2008-06-07 05:19:13 UTC (rev 1040) @@ -20,7 +20,7 @@ <property name="javac.deprecation" value="on"/> <property name="javac.debug" value="on"/> - <property name="fb-contrib.version" value="3.7.0"/> + <property name="fb-contrib.version" value="3.6.1"/> <target name="clean" description="removes all generated collateral"> <delete dir="${classes.dir}"/> Modified: trunk/fb-contrib/etc/findbugs.xml =================================================================== --- trunk/fb-contrib/etc/findbugs.xml 2008-06-07 04:48:44 UTC (rev 1039) +++ trunk/fb-contrib/etc/findbugs.xml 2008-06-07 05:19:13 UTC (rev 1040) @@ -318,7 +318,8 @@ <Detector class="com.mebigfatguy.fbcontrib.detect.SuspiciousClusteredSessionSupport" speed="fast" - reports="SCSS_SUSPICIOUS_CLUSTERED_SESSION_SUPPORT" /> + reports="SCSS_SUSPICIOUS_CLUSTERED_SESSION_SUPPORT" + hidden="true" /> <!-- BugPattern --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-07 04:48:36
|
Revision: 1039 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1039&view=rev Author: dbrosius Date: 2008-06-06 21:48:44 -0700 (Fri, 06 Jun 2008) Log Message: ----------- handle GOTO_W along with GOTO Modified Paths: -------------- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/BloatedSynchronizedBlock.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ConstantListIndex.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/DeletingWhileIterating.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/FloatingPointLoops.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/InefficientStringBuffering.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ListIndexedIterating.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/NeedlessAutoboxing.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/StaticMethodInstanceInvocation.java Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/BloatedSynchronizedBlock.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/BloatedSynchronizedBlock.java 2008-06-07 02:42:22 UTC (rev 1038) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/BloatedSynchronizedBlock.java 2008-06-07 04:48:44 UTC (rev 1039) @@ -145,7 +145,7 @@ unsafeCallOccurred = false; } else if (seen == INVOKESTATIC) unsafeCallOccurred = (getDottedClassConstantOperand().equals(this.getClassContext().getJavaClass().getClassName())); - else if ((seen >= IFEQ) && (seen <= GOTO)) + else if (((seen >= IFEQ) && (seen <= GOTO)) || (seen == GOTO_W)) { Integer from = Integer14.valueOf(getPC()); Integer to = Integer14.valueOf(getBranchTarget()); Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ConstantListIndex.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ConstantListIndex.java 2008-06-07 02:42:22 UTC (rev 1038) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ConstantListIndex.java 2008-06-07 04:48:44 UTC (rev 1039) @@ -151,7 +151,7 @@ break; } - if ((seen >= IFEQ) && (seen <= GOTO)) { + if (((seen >= IFEQ) && (seen <= GOTO)) || (seen == GOTO_W)) { int branchTarget = this.getBranchTarget(); Iterator<Integer> it = iConst0Looped.iterator(); while (it.hasNext()) { Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/DeletingWhileIterating.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/DeletingWhileIterating.java 2008-06-07 02:42:22 UTC (rev 1038) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/DeletingWhileIterating.java 2008-06-07 04:48:44 UTC (rev 1039) @@ -270,7 +270,7 @@ int ins = getCode().getCode()[gotoAddr]; if (ins < 0) ins = 256 + ins; - if (ins == GOTO) { + if ((ins == GOTO) || (ins == GOTO_W)) { Integer reg = groupToIterator.get(id); if (reg != null) loops.put(reg, new Loop(getPC(), gotoAddr)); Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/FloatingPointLoops.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/FloatingPointLoops.java 2008-06-07 02:42:22 UTC (rev 1038) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/FloatingPointLoops.java 2008-06-07 04:48:44 UTC (rev 1039) @@ -153,7 +153,7 @@ return false; case SEEN_STORE: - if ((seen == GOTO) && (getBranchTarget() == loopPC)) { + if (((seen == GOTO) || (seen == GOTO_W)) && (getBranchTarget() == loopPC)) { bugReporter.reportBug(new BugInstance(FloatingPointLoops.this, "FPL_FLOATING_POINT_LOOPS", NORMAL_PRIORITY) .addClass(FloatingPointLoops.this) .addMethod(FloatingPointLoops.this) Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/InefficientStringBuffering.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/InefficientStringBuffering.java 2008-06-07 02:42:22 UTC (rev 1038) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/InefficientStringBuffering.java 2008-06-07 04:48:44 UTC (rev 1039) @@ -156,7 +156,7 @@ } } - } else if (seen == GOTO) { + } else if ((seen == GOTO) || (seen == GOTO_W)) { int depth = stack.getStackDepth(); for (int i = 0; i < depth; i++) { OpcodeStack.Item itm = stack.getStackItem(i); Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ListIndexedIterating.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ListIndexedIterating.java 2008-06-07 02:42:22 UTC (rev 1038) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ListIndexedIterating.java 2008-06-07 04:48:44 UTC (rev 1039) @@ -86,7 +86,7 @@ } /** - * looks for methods that contain a GOTO or GOTO_W opcodes + * looks for methods that contain a IINC and GOTO or GOTO_W opcodes * * @param method the context object of the current method * @return if the class uses synchronization Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/NeedlessAutoboxing.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/NeedlessAutoboxing.java 2008-06-07 02:42:22 UTC (rev 1038) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/NeedlessAutoboxing.java 2008-06-07 04:48:44 UTC (rev 1039) @@ -139,7 +139,7 @@ if ("TRUE".equals(fldName) || "FALSE".equals(fldName)) state = SEEN_GETSTATIC; } - } else if (seen == GOTO) { + } else if ((seen == GOTO) || (seen == GOTO_W)) { state = SEEN_GOTO; } break; Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/StaticMethodInstanceInvocation.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/StaticMethodInstanceInvocation.java 2008-06-07 02:42:22 UTC (rev 1038) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/StaticMethodInstanceInvocation.java 2008-06-07 04:48:44 UTC (rev 1039) @@ -133,7 +133,8 @@ || ((seen >= ASTORE_0) && (seen <= ASTORE_3)) || (seen == PUTFIELD) || (seen == ATHROW) - || (seen == GOTO)) { + || (seen == GOTO) + || (seen == GOTO_W)) { popStack.clear(); } else if ((seen == INVOKESPECIAL) || (seen == INVOKEINTERFACE) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-07 02:42:14
|
Revision: 1038 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1038&view=rev Author: dbrosius Date: 2008-06-06 19:42:22 -0700 (Fri, 06 Jun 2008) Log Message: ----------- look for LDC_W in addition to LDC Modified Paths: -------------- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/AbstractClassEmptyMethods.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ConstantListIndex.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/InefficientStringBuffering.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SillynessPotPourri.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SloppyClassReflection.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/StaticArrayCreatedInMethod.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/UseCharacterParameterizedMethod.java Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/AbstractClassEmptyMethods.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/AbstractClassEmptyMethods.java 2008-06-07 02:35:40 UTC (rev 1037) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/AbstractClassEmptyMethods.java 2008-06-07 02:42:22 UTC (rev 1038) @@ -133,7 +133,7 @@ break; case SEEN_DUP: - if ((seen == LDC) && (getConstantRefOperand() instanceof ConstantString)) + if (((seen == LDC) || (seen == LDC_W)) && (getConstantRefOperand() instanceof ConstantString)) state = SEEN_LDC; else state = SEEN_DONE; Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ConstantListIndex.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ConstantListIndex.java 2008-06-07 02:35:40 UTC (rev 1037) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ConstantListIndex.java 2008-06-07 02:42:22 UTC (rev 1038) @@ -100,7 +100,7 @@ state = SEEN_CONSTANT_0; else if ((seen >= ICONST_1) && (seen <= ICONST_5)) state = SEEN_CONSTANT; - else if (seen == LDC) { + else if ((seen == LDC) || (seen == LDC_W)) { Constant c = getConstantRefOperand(); if (c instanceof ConstantInteger) state = SEEN_CONSTANT; Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/InefficientStringBuffering.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/InefficientStringBuffering.java 2008-06-07 02:35:40 UTC (rev 1037) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/InefficientStringBuffering.java 2008-06-07 02:42:22 UTC (rev 1038) @@ -162,7 +162,7 @@ OpcodeStack.Item itm = stack.getStackItem(i); itm.setUserValue(Boolean.FALSE); } - } else if (seen == LDC) { + } else if ((seen == LDC) || (seen == LDC_W)) { Constant c = getConstantRefOperand(); if (c instanceof ConstantString) { String s = ((ConstantString) c).getBytes(getConstantPool()); Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SillynessPotPourri.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SillynessPotPourri.java 2008-06-07 02:35:40 UTC (rev 1037) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SillynessPotPourri.java 2008-06-07 02:42:22 UTC (rev 1038) @@ -189,8 +189,9 @@ byte[] bytes = getCode().getCode(); if (lastPCs[1] != -1) { + int loadIns = getbyte(bytes, lastPCs[2]); if ((getbyte(bytes, lastPCs[3]) == INVOKEVIRTUAL) - && (getbyte(bytes, lastPCs[2]) == LDC) + && ((loadIns == LDC) || (loadIns == LDC_W)) && (getbyte(bytes, lastPCs[1]) == INVOKEVIRTUAL)) { ConstantPool pool = getConstantPool(); int toStringIndex = getshort(bytes, lastPCs[1]+1); Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SloppyClassReflection.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SloppyClassReflection.java 2008-06-07 02:35:40 UTC (rev 1037) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SloppyClassReflection.java 2008-06-07 02:42:22 UTC (rev 1038) @@ -142,7 +142,7 @@ break; case SEEN_NOTHING: - if (seen == LDC) { + if ((seen == LDC) || (seen == LDC_W)) { Constant c = getConstantRefOperand(); if (c instanceof ConstantString) { clsName = ((ConstantString) c).getBytes(getConstantPool()); Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/StaticArrayCreatedInMethod.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/StaticArrayCreatedInMethod.java 2008-06-07 02:35:40 UTC (rev 1037) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/StaticArrayCreatedInMethod.java 2008-06-07 02:42:22 UTC (rev 1038) @@ -126,7 +126,7 @@ break; case SEEN_INDEX: - if (seen == LDC) + if ((seen == LDC) || (seen == LDC_W)) state = SEEN_LDC; else state = SEEN_NOTHING; Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/UseCharacterParameterizedMethod.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/UseCharacterParameterizedMethod.java 2008-06-07 02:35:40 UTC (rev 1037) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/UseCharacterParameterizedMethod.java 2008-06-07 02:42:22 UTC (rev 1038) @@ -95,7 +95,7 @@ private boolean prescreen(Method obj) { BitSet bytecodeSet = getClassContext().getBytecodeSet(obj); - return (bytecodeSet != null) && (bytecodeSet.get(Constants.LDC)); + return (bytecodeSet != null) && ((bytecodeSet.get(Constants.LDC) || (bytecodeSet.get(Constants.LDC_W)))); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-07 02:35:32
|
Revision: 1037 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1037&view=rev Author: dbrosius Date: 2008-06-06 19:35:40 -0700 (Fri, 06 Jun 2008) Log Message: ----------- look for LDC_W as well as LDC Modified Paths: -------------- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/WeakExceptionMessaging.java Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/WeakExceptionMessaging.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/WeakExceptionMessaging.java 2008-06-06 22:44:50 UTC (rev 1036) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/WeakExceptionMessaging.java 2008-06-07 02:35:40 UTC (rev 1037) @@ -122,7 +122,7 @@ .addSourceLine(this)); } } - } else if (seen == LDC) { + } else if ((seen == LDC) || (seen == LDC_W)) { if (getConstantRefOperand() instanceof ConstantString) sawConstant = true; } else if (seen == INVOKESPECIAL) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-06 22:44:42
|
Revision: 1036 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1036&view=rev Author: dbrosius Date: 2008-06-06 15:44:50 -0700 (Fri, 06 Jun 2008) Log Message: ----------- fix fencepost problem Modified Paths: -------------- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java 2008-06-02 17:57:08 UTC (rev 1035) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java 2008-06-06 22:44:50 UTC (rev 1036) @@ -129,7 +129,7 @@ if (m.matches()) { String signature = getSigConstantOperand(); int numArgs = Type.getArgumentTypes(signature).length; - if (stack.getStackDepth() >= numArgs) { + if (stack.getStackDepth() > numArgs) { OpcodeStack.Item item = stack.getStackItem(numArgs); attributeName = (String)item.getUserValue(); if (attributeName != null) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-02 17:57:57
|
Revision: 1035 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1035&view=rev Author: dbrosius Date: 2008-06-02 10:57:08 -0700 (Mon, 02 Jun 2008) Log Message: ----------- document SCSS Modified Paths: -------------- trunk/fb-contrib/htdocs/index.html Modified: trunk/fb-contrib/htdocs/index.html =================================================================== --- trunk/fb-contrib/htdocs/index.html 2008-06-02 15:35:27 UTC (rev 1034) +++ trunk/fb-contrib/htdocs/index.html 2008-06-02 17:57:08 UTC (rev 1035) @@ -48,6 +48,17 @@ <a href="bugdescriptions.html">Bug Descriptions</a> <hr/> + <img id="svn_image" src="flip1.gif" onClick="toggleBlock('svn', 'svn_image');" align="top"/> + Detectors added in svn<br/> + <div id="svn" style="display:none;"> + <ul> + <li><b>[SCSS] Suspicious Clustered Session Support</b><br/> + Looks for methods that access objects in http sessions, that are complex objects, + modifies those objects, but does not call setAttribute to signify a change so that + cluster replication can happens correctly.</li> + </ul> + </div> + <hr/> <img id="v3_6_0_image" src="flip2.gif" onClick="toggleBlock('v3_6_0', 'v3_6_0_image');" align="top"/> Detectors added in v3.6.0<br/> <div id="v3_6_0" style="display:block;"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-02 15:35:23
|
Revision: 1034 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1034&view=rev Author: dbrosius Date: 2008-06-02 08:35:27 -0700 (Mon, 02 Jun 2008) Log Message: ----------- add valid case Modified Paths: -------------- trunk/fb-contrib/samples/SCSS_Sample.java Modified: trunk/fb-contrib/samples/SCSS_Sample.java =================================================================== --- trunk/fb-contrib/samples/SCSS_Sample.java 2008-06-02 08:14:37 UTC (rev 1033) +++ trunk/fb-contrib/samples/SCSS_Sample.java 2008-06-02 15:35:27 UTC (rev 1034) @@ -1,3 +1,4 @@ +import java.util.Map; import java.util.Set; import javax.servlet.http.HttpSession; @@ -16,4 +17,11 @@ double[] d = (double[])session.getAttribute("mynums"); d[3] = 0.0; } + + public void ok(HttpSession session) + { + Map<String, String> mm = (Map<String, String>)session.getAttribute("mymapping"); + mm.put("foo", "bar"); + session.setAttribute("mymapping", mm); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-02 08:14:29
|
Revision: 1033 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1033&view=rev Author: dbrosius Date: 2008-06-02 01:14:37 -0700 (Mon, 02 Jun 2008) Log Message: ----------- add checking for array storing into an attribute Modified Paths: -------------- trunk/fb-contrib/samples/SCSS_Sample.java trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java Modified: trunk/fb-contrib/samples/SCSS_Sample.java =================================================================== --- trunk/fb-contrib/samples/SCSS_Sample.java 2008-06-02 08:03:33 UTC (rev 1032) +++ trunk/fb-contrib/samples/SCSS_Sample.java 2008-06-02 08:14:37 UTC (rev 1033) @@ -10,4 +10,10 @@ Set<String> ss = (Set<String>)session.getAttribute("mykeys"); ss.add("Foo"); } + + public void arrayChange(HttpSession session) + { + double[] d = (double[])session.getAttribute("mynums"); + d[3] = 0.0; + } } Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java 2008-06-02 08:03:33 UTC (rev 1032) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java 2008-06-02 08:14:37 UTC (rev 1033) @@ -137,6 +137,14 @@ } } } + } else if ((seen >= IASTORE) && (seen <= SASTORE)) { + if (stack.getStackDepth() > 2) { + OpcodeStack.Item item = stack.getStackItem(2); + attributeName = (String)item.getUserValue(); + if (attributeName != null) { + changedAttributes.put(attributeName, Integer14.valueOf(getPC())); + } + } } } finally { stack.sawOpcode(this, seen); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-02 08:03:26
|
Revision: 1032 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1032&view=rev Author: dbrosius Date: 2008-06-02 01:03:33 -0700 (Mon, 02 Jun 2008) Log Message: ----------- starting to work Modified Paths: -------------- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java 2008-06-02 07:36:55 UTC (rev 1031) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java 2008-06-02 08:03:33 UTC (rev 1032) @@ -19,15 +19,17 @@ package com.mebigfatguy.fbcontrib.detect; import java.util.HashMap; -import java.util.HashSet; import java.util.Map; -import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.apache.bcel.classfile.Code; +import org.apache.bcel.generic.Type; import com.mebigfatguy.fbcontrib.utils.Integer14; import com.mebigfatguy.fbcontrib.utils.RegisterUtils; +import edu.umd.cs.findbugs.BugInstance; import edu.umd.cs.findbugs.BugReporter; import edu.umd.cs.findbugs.BytecodeScanningDetector; import edu.umd.cs.findbugs.OpcodeStack; @@ -40,10 +42,11 @@ */ public class SuspiciousClusteredSessionSupport extends BytecodeScanningDetector { + private static final Pattern modifyingNames = Pattern.compile("(add|insert|put|remove|clear|set).*"); + private BugReporter bugReporter; private OpcodeStack stack; - private Map<String, Integer> attributes; - private Set<String> changedAttributes; + private Map<String, Integer> changedAttributes; private Map<Integer, String> savedAttributes; public SuspiciousClusteredSessionSupport(BugReporter bugReporter) { @@ -54,24 +57,28 @@ public void visitClassContext(ClassContext classContext) { try { stack = new OpcodeStack(); - attributes = new HashMap<String, Integer>(); - changedAttributes = new HashSet<String>(); + changedAttributes = new HashMap<String, Integer>(); savedAttributes = new HashMap<Integer, String>(); super.visitClassContext(classContext); } finally { stack = null; - attributes = null; changedAttributes = null; + savedAttributes = null; } } @Override public void visitCode(Code obj) { stack.resetForMethodEntry(this); - attributes.clear(); changedAttributes.clear(); savedAttributes.clear(); super.visitCode(obj); + for (Integer pc : changedAttributes.values()) { + bugReporter.reportBug(new BugInstance(this, "SCSS_SUSPICIOUS_CLUSTERED_SESSION_SUPPORT", NORMAL_PRIORITY) + .addClass(this) + .addMethod(this) + .addSourceLine(this, pc.intValue())); + } } @Override @@ -81,7 +88,7 @@ try { if (seen == INVOKEINTERFACE) { String clsName = getClassConstantOperand(); - if ("javax.servlet.http.HttpSession".equals(clsName)) { + if ("javax/servlet/http/HttpSession".equals(clsName)) { String methodName = getNameConstantOperand(); if ("getAttribute".equals(methodName)) { if (stack.getStackDepth() > 0) { @@ -89,7 +96,6 @@ Object con = item.getConstant(); if (con instanceof String) { attributeName = (String)con; - attributes.put(attributeName, Integer14.valueOf(getPC())); sawGetAttribute = true; } } @@ -99,17 +105,15 @@ Object con = item.getConstant(); if (con instanceof String) { attributeName = (String)con; - attributes.remove(attributeName); + changedAttributes.remove(attributeName); } } } } } else if (((seen >= ALOAD_0) && (seen <= ALOAD_3)) || (seen == ALOAD)) { - if (stack.getStackDepth() > 0) { - int reg = RegisterUtils.getALoadReg(this, seen); - attributeName = savedAttributes.get(Integer14.valueOf(reg)); - sawGetAttribute = attributeName != null; - } + int reg = RegisterUtils.getALoadReg(this, seen); + attributeName = savedAttributes.get(Integer14.valueOf(reg)); + sawGetAttribute = attributeName != null; } else if (((seen >= ASTORE_0) && (seen <= ASTORE_3)) || (seen == ASTORE)) { if (stack.getStackDepth() > 0) { OpcodeStack.Item item = stack.getStackItem(0); @@ -118,6 +122,22 @@ savedAttributes.put(Integer14.valueOf(reg), attributeName); } } + + if ((seen == INVOKEINTERFACE) || (seen == INVOKEVIRTUAL)) { + String methodName = getNameConstantOperand(); + Matcher m = modifyingNames.matcher(methodName); + if (m.matches()) { + String signature = getSigConstantOperand(); + int numArgs = Type.getArgumentTypes(signature).length; + if (stack.getStackDepth() >= numArgs) { + OpcodeStack.Item item = stack.getStackItem(numArgs); + attributeName = (String)item.getUserValue(); + if (attributeName != null) { + changedAttributes.put(attributeName, Integer14.valueOf(getPC())); + } + } + } + } } finally { stack.sawOpcode(this, seen); if (sawGetAttribute) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-02 07:36:48
|
Revision: 1031 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1031&view=rev Author: dbrosius Date: 2008-06-02 00:36:55 -0700 (Mon, 02 Jun 2008) Log Message: ----------- add servlet-api.jar Modified Paths: -------------- trunk/fb-contrib/samples/samples.fb Modified: trunk/fb-contrib/samples/samples.fb =================================================================== --- trunk/fb-contrib/samples/samples.fb 2008-06-02 07:31:29 UTC (rev 1030) +++ trunk/fb-contrib/samples/samples.fb 2008-06-02 07:36:55 UTC (rev 1031) @@ -5,5 +5,6 @@ [Aux classpath entries] .\lib\jsp-api.jar .\lib\junit.jar +.\lib\servlet-api.jar [Options] relative_paths=true This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-02 07:31:20
|
Revision: 1030 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1030&view=rev Author: dbrosius Date: 2008-06-02 00:31:29 -0700 (Mon, 02 Jun 2008) Log Message: ----------- Initial checkin of SCSS detector - not even close to working Modified Paths: -------------- trunk/fb-contrib/etc/findbugs.xml trunk/fb-contrib/etc/messages.xml Modified: trunk/fb-contrib/etc/findbugs.xml =================================================================== --- trunk/fb-contrib/etc/findbugs.xml 2008-06-02 07:04:19 UTC (rev 1029) +++ trunk/fb-contrib/etc/findbugs.xml 2008-06-02 07:31:29 UTC (rev 1030) @@ -316,6 +316,10 @@ speed="fast" reports="WEM_WEAK_EXCEPTION_MESSAGING" /> + <Detector class="com.mebigfatguy.fbcontrib.detect.SuspiciousClusteredSessionSupport" + speed="fast" + reports="SCSS_SUSPICIOUS_CLUSTERED_SESSION_SUPPORT" /> + <!-- BugPattern --> <BugPattern abbrev="ISB" type="ISB_INEFFICIENT_STRING_BUFFERING" category="PERFORMANCE" /> @@ -421,4 +425,5 @@ <BugPattern abbrev="JAO" type="JAO_JUNIT_ASSERTION_ODDITIES_BOOLEAN_ASSERT" category="STYLE" experimental="true" /> <BugPattern abbrev="SCA" type="SCA_SUSPICIOUS_CLONE_ALGORITHM" category="CORRECTNESS" experimental="true" /> <BugPattern abbrev="WEM" type="WEM_WEAK_EXCEPTION_MESSAGING" category="STYLE" experimental="true" /> + <BugPattern abbrev="SCSS" type="SCSS_SUSPICIOUS_CLUSTERED_SESSION_SUPPORT" category="CORRECTNESS" experimental="true" /> </FindbugsPlugin> \ No newline at end of file Modified: trunk/fb-contrib/etc/messages.xml =================================================================== --- trunk/fb-contrib/etc/messages.xml 2008-06-02 07:04:19 UTC (rev 1029) +++ trunk/fb-contrib/etc/messages.xml 2008-06-02 07:31:29 UTC (rev 1030) @@ -863,12 +863,22 @@ <![CDATA[ <p>looks for exceptions that are thrown with static strings as messages. Using static strings doesn't differentiate one use of this method versus another, and so it may be difficult - to determine how this exception occurred without showing context.<p> + to determine how this exception occurred without showing context.</p> <p>It is a fast detector</p> ]]> </Details> </Detector> + <Detector class="com.mebigfatguy.fbcontrib.detect.SuspiciousClusteredSessionSupport"> + <Details> + <![CDATA[ + <p>looks for code that fetches a complex object from an HttpSession attribute, modifies the + object, but does not call setAttribute again on this object. This will not inform the application server + that this object has changed, and thus will not correctly replicate these changes across the cluster.</p> + <p>It is a fast detector</p> + ]]> + </Details> + </Detector> <!-- BugPattern --> @@ -2232,6 +2242,19 @@ </Details> </BugPattern> + <BugPattern type="SCSS_SUSPICIOUS_CLUSTERED_SESSION_SUPPORT"> + <ShortDescription>method modifies http session attribute without calling setAttribute</ShortDescription> + <LongDescription>method {1} modifies http session attribute without calling setAttribute</LongDescription> + <Details> + <![CDATA[ + <p>This method fetches a complex object from an HttpSession object, modifies this object, but does + not call setAttribute, to inform the application server that this attribute has been changed. This will + cause this attribute not to be updated in other servers in a clustered environment, as only changes marked + by a call to setAttribute are replicated.</p> + ]]> + </Details> + </BugPattern> + <!-- BugCode --> <BugCode abbrev="ISB">Inefficient String Buffering</BugCode> @@ -2305,4 +2328,5 @@ <BugCode abbrev="JAO">JUnit Assertion Oddities</BugCode> <BugCode abbrev="SCA">Suspicious Clone Algorithm</BugCode> <BugCode abbrev="WEM">Weak Exception Messaging</BugCode> + <BugCode abbrev="SCSS">Suspicious Clustered Session Support</BugCode> </MessageCollection> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-02 07:04:13
|
Revision: 1029 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1029&view=rev Author: dbrosius Date: 2008-06-02 00:04:19 -0700 (Mon, 02 Jun 2008) Log Message: ----------- bump version to 3.7.0 Modified Paths: -------------- trunk/fb-contrib/build.xml Modified: trunk/fb-contrib/build.xml =================================================================== --- trunk/fb-contrib/build.xml 2008-06-02 07:03:29 UTC (rev 1028) +++ trunk/fb-contrib/build.xml 2008-06-02 07:04:19 UTC (rev 1029) @@ -20,7 +20,7 @@ <property name="javac.deprecation" value="on"/> <property name="javac.debug" value="on"/> - <property name="fb-contrib.version" value="3.6.0"/> + <property name="fb-contrib.version" value="3.7.0"/> <target name="clean" description="removes all generated collateral"> <delete dir="${classes.dir}"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-02 07:03:22
|
Revision: 1028 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1028&view=rev Author: dbrosius Date: 2008-06-02 00:03:29 -0700 (Mon, 02 Jun 2008) Log Message: ----------- Initial checkin of SCSS - not even close to working, yet. Modified Paths: -------------- trunk/fb-contrib/build.xml Added Paths: ----------- trunk/fb-contrib/samples/SCSS_Sample.java trunk/fb-contrib/samples/lib/servlet-api.jar trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java Modified: trunk/fb-contrib/build.xml =================================================================== --- trunk/fb-contrib/build.xml 2008-06-01 21:04:33 UTC (rev 1027) +++ trunk/fb-contrib/build.xml 2008-06-02 07:03:29 UTC (rev 1028) @@ -46,6 +46,7 @@ <path id="fb-contrib.samples.classpath"> <pathelement location="${sampleslib.dir}/jsp-api.jar"/> <pathelement location="${sampleslib.dir}/junit.jar"/> + <pathelement location="${sampleslib.dir}/servlet-api.jar"/> </path> <mkdir dir="${classes.dir}/com"/> <mkdir dir="${classes.dir}/com/mebigfatguy"/> Added: trunk/fb-contrib/samples/SCSS_Sample.java =================================================================== --- trunk/fb-contrib/samples/SCSS_Sample.java (rev 0) +++ trunk/fb-contrib/samples/SCSS_Sample.java 2008-06-02 07:03:29 UTC (rev 1028) @@ -0,0 +1,13 @@ +import java.util.Set; + +import javax.servlet.http.HttpSession; + + +public class SCSS_Sample +{ + public void setChange(HttpSession session) + { + Set<String> ss = (Set<String>)session.getAttribute("mykeys"); + ss.add("Foo"); + } +} Property changes on: trunk/fb-contrib/samples/SCSS_Sample.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/fb-contrib/samples/lib/servlet-api.jar =================================================================== (Binary files differ) Property changes on: trunk/fb-contrib/samples/lib/servlet-api.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java (rev 0) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java 2008-06-02 07:03:29 UTC (rev 1028) @@ -0,0 +1,132 @@ +/* + * fb-contrib - Auxiliary detectors for Java programs + * Copyright (C) 2005-2008 Dave Brosius + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +package com.mebigfatguy.fbcontrib.detect; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import org.apache.bcel.classfile.Code; + +import com.mebigfatguy.fbcontrib.utils.Integer14; +import com.mebigfatguy.fbcontrib.utils.RegisterUtils; + +import edu.umd.cs.findbugs.BugReporter; +import edu.umd.cs.findbugs.BytecodeScanningDetector; +import edu.umd.cs.findbugs.OpcodeStack; +import edu.umd.cs.findbugs.ba.ClassContext; + +/** + * looks for methods that access objects in http sessions, that are complex objects, + * modifies those objects, but does not call setAttribute to signify a change so that + * cluster replication can happen. + */ +public class SuspiciousClusteredSessionSupport extends BytecodeScanningDetector { + + private BugReporter bugReporter; + private OpcodeStack stack; + private Map<String, Integer> attributes; + private Set<String> changedAttributes; + private Map<Integer, String> savedAttributes; + + public SuspiciousClusteredSessionSupport(BugReporter bugReporter) { + this.bugReporter = bugReporter; + } + + @Override + public void visitClassContext(ClassContext classContext) { + try { + stack = new OpcodeStack(); + attributes = new HashMap<String, Integer>(); + changedAttributes = new HashSet<String>(); + savedAttributes = new HashMap<Integer, String>(); + super.visitClassContext(classContext); + } finally { + stack = null; + attributes = null; + changedAttributes = null; + } + } + + @Override + public void visitCode(Code obj) { + stack.resetForMethodEntry(this); + attributes.clear(); + changedAttributes.clear(); + savedAttributes.clear(); + super.visitCode(obj); + } + + @Override + public void sawOpcode(int seen) { + String attributeName = null; + boolean sawGetAttribute = false; + try { + if (seen == INVOKEINTERFACE) { + String clsName = getClassConstantOperand(); + if ("javax.servlet.http.HttpSession".equals(clsName)) { + String methodName = getNameConstantOperand(); + if ("getAttribute".equals(methodName)) { + if (stack.getStackDepth() > 0) { + OpcodeStack.Item item = stack.getStackItem(0); + Object con = item.getConstant(); + if (con instanceof String) { + attributeName = (String)con; + attributes.put(attributeName, Integer14.valueOf(getPC())); + sawGetAttribute = true; + } + } + } else if ("setAttribute".equals(methodName)) { + if (stack.getStackDepth() > 1) { + OpcodeStack.Item item = stack.getStackItem(1); + Object con = item.getConstant(); + if (con instanceof String) { + attributeName = (String)con; + attributes.remove(attributeName); + } + } + } + } + } else if (((seen >= ALOAD_0) && (seen <= ALOAD_3)) || (seen == ALOAD)) { + if (stack.getStackDepth() > 0) { + int reg = RegisterUtils.getALoadReg(this, seen); + attributeName = savedAttributes.get(Integer14.valueOf(reg)); + sawGetAttribute = attributeName != null; + } + } else if (((seen >= ASTORE_0) && (seen <= ASTORE_3)) || (seen == ASTORE)) { + if (stack.getStackDepth() > 0) { + OpcodeStack.Item item = stack.getStackItem(0); + attributeName = (String)item.getUserValue(); + int reg = RegisterUtils.getAStoreReg(this, seen); + savedAttributes.put(Integer14.valueOf(reg), attributeName); + } + } + } finally { + stack.sawOpcode(this, seen); + if (sawGetAttribute) + { + if (stack.getStackDepth() > 0) { + OpcodeStack.Item item = stack.getStackItem(0); + item.setUserValue(attributeName); + } + } + } + } +} \ No newline at end of file Property changes on: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SuspiciousClusteredSessionSupport.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-01 21:04:29
|
Revision: 1027 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1027&view=rev Author: dbrosius Date: 2008-06-01 14:04:33 -0700 (Sun, 01 Jun 2008) Log Message: ----------- tag version 3.6.0 Added Paths: ----------- tags/v3_6_0/ Copied: tags/v3_6_0 (from rev 1026, trunk/fb-contrib) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-01 20:49:37
|
Revision: 1026 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1026&view=rev Author: dbrosius Date: 2008-06-01 13:49:43 -0700 (Sun, 01 Jun 2008) Log Message: ----------- add annotatons and jsr305 to check14 run Modified Paths: -------------- trunk/fb-contrib/build.xml Modified: trunk/fb-contrib/build.xml =================================================================== --- trunk/fb-contrib/build.xml 2008-06-01 20:49:12 UTC (rev 1025) +++ trunk/fb-contrib/build.xml 2008-06-01 20:49:43 UTC (rev 1026) @@ -157,7 +157,7 @@ <mkdir dir="${basedir}/plugin"/> <copy file="${basedir}/fb-contrib-${fb-contrib.version}.jar" todir="${basedir}/plugin"/> - <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpath="${lib.dir}/findbugs-ant.jar;${lib.dir}/findbugs.jar;${lib.dir}/bcel.jar;${lib.dir}/dom4j-full.jar;${lib.dir}/asm-3.0.jar;${lib.dir}/asm-tree-3.0.jar"/> + <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpath="${lib.dir}/findbugs-ant.jar;${lib.dir}/findbugs.jar;${lib.dir}/bcel.jar;${lib.dir}/dom4j-full.jar;${lib.dir}/asm-3.0.jar;${lib.dir}/asm-tree-3.0.jar;${lib.dir}/annotations.jar;${lib.dir}/jsr305.jar"/> <findbugs output="xml" home="${basedir}" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-01 20:49:07
|
Revision: 1025 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1025&view=rev Author: dbrosius Date: 2008-06-01 13:49:12 -0700 (Sun, 01 Jun 2008) Log Message: ----------- get check14 working again Added Paths: ----------- trunk/fb-contrib/lib/annotations.jar trunk/fb-contrib/lib/jsr305.jar Added: trunk/fb-contrib/lib/annotations.jar =================================================================== (Binary files differ) Property changes on: trunk/fb-contrib/lib/annotations.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/fb-contrib/lib/jsr305.jar =================================================================== (Binary files differ) Property changes on: trunk/fb-contrib/lib/jsr305.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-01 20:42:38
|
Revision: 1024 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1024&view=rev Author: dbrosius Date: 2008-06-01 13:42:45 -0700 (Sun, 01 Jun 2008) Log Message: ----------- @Param s/b @param Modified Paths: -------------- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/WeakExceptionMessaging.java Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/WeakExceptionMessaging.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/WeakExceptionMessaging.java 2008-06-01 20:40:13 UTC (rev 1023) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/WeakExceptionMessaging.java 2008-06-01 20:42:45 UTC (rev 1024) @@ -59,7 +59,7 @@ /** * overrides the visitor to initialize and tear down the opcode stack * - * @Param classContext the context object of the currently parsed class + * @param classContext the context object of the currently parsed class */ @Override public void visitClassContext(ClassContext classContext) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-01 20:40:06
|
Revision: 1023 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1023&view=rev Author: dbrosius Date: 2008-06-01 13:40:13 -0700 (Sun, 01 Jun 2008) Log Message: ----------- get ready for 3.6 release Modified Paths: -------------- trunk/fb-contrib/htdocs/index.html Modified: trunk/fb-contrib/htdocs/index.html =================================================================== --- trunk/fb-contrib/htdocs/index.html 2008-06-01 20:38:28 UTC (rev 1022) +++ trunk/fb-contrib/htdocs/index.html 2008-06-01 20:40:13 UTC (rev 1023) @@ -48,9 +48,9 @@ <a href="bugdescriptions.html">Bug Descriptions</a> <hr/> - <img id="svn_image" src="flip2.gif" onClick="toggleBlock('svn', 'svn_image');" align="top"/> - Detectors added in svn<br/> - <div id="svn" style="display:block;"> + <img id="v3_6_0_image" src="flip2.gif" onClick="toggleBlock('v3_6_0', 'v3_6_0_image');" align="top"/> + Detectors added in v3.6.0<br/> + <div id="v3_6_0" style="display:block;"> <ul> <li><b>[CFS] Confusing Function Semantics</b><br/> Looks for methods that return a parameter after making what looks like This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-06-01 20:38:27
|
Revision: 1022 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1022&view=rev Author: dbrosius Date: 2008-06-01 13:38:28 -0700 (Sun, 01 Jun 2008) Log Message: ----------- get ready for 3.6.0 release Modified Paths: -------------- trunk/fb-contrib/build.xml Modified: trunk/fb-contrib/build.xml =================================================================== --- trunk/fb-contrib/build.xml 2008-05-26 23:01:37 UTC (rev 1021) +++ trunk/fb-contrib/build.xml 2008-06-01 20:38:28 UTC (rev 1022) @@ -20,7 +20,7 @@ <property name="javac.deprecation" value="on"/> <property name="javac.debug" value="on"/> - <property name="fb-contrib.version" value="3.5.0"/> + <property name="fb-contrib.version" value="3.6.0"/> <target name="clean" description="removes all generated collateral"> <delete dir="${classes.dir}"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-05-26 23:01:28
|
Revision: 1021 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1021&view=rev Author: dbrosius Date: 2008-05-26 16:01:37 -0700 (Mon, 26 May 2008) Log Message: ----------- guard against a null and length() == 0 having a body of continue. ie. don't report Modified Paths: -------------- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SillynessPotPourri.java Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SillynessPotPourri.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SillynessPotPourri.java 2008-05-21 10:45:22 UTC (rev 1020) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SillynessPotPourri.java 2008-05-26 23:01:37 UTC (rev 1021) @@ -136,16 +136,19 @@ && (getbyte(bytes, lastPCs[0]) == loadIns) && ((loadIns != ALOAD) || (getbyte(bytes, lastPCs[2]+1) == getbyte(bytes, lastPCs[0]+1))) && ((seen == IFNE) ? getshort(bytes, lastPCs[1]+1) > brOffset : getshort(bytes, lastPCs[1]+1) == brOffset)) { - ConstantPool pool = getConstantPool(); - int mpoolIndex = getshort(bytes, lastPCs[3]+1); - ConstantMethodref cmr = (ConstantMethodref)pool.getConstant(mpoolIndex); - int nandtIndex = cmr.getNameAndTypeIndex(); - ConstantNameAndType cnt = (ConstantNameAndType)pool.getConstant(nandtIndex); - if ("length".equals(cnt.getName(pool))) { - bugReporter.reportBug(new BugInstance(this, "SPP_SUSPECT_STRING_TEST", NORMAL_PRIORITY) - .addClass(this) - .addMethod(this) - .addSourceLine(this)); + int nextOp = getbyte(bytes, getNextPC()); + if ((nextOp != GOTO) && (nextOp != GOTO_W)) { + ConstantPool pool = getConstantPool(); + int mpoolIndex = getshort(bytes, lastPCs[3]+1); + ConstantMethodref cmr = (ConstantMethodref)pool.getConstant(mpoolIndex); + int nandtIndex = cmr.getNameAndTypeIndex(); + ConstantNameAndType cnt = (ConstantNameAndType)pool.getConstant(nandtIndex); + if ("length".equals(cnt.getName(pool))) { + bugReporter.reportBug(new BugInstance(this, "SPP_SUSPECT_STRING_TEST", NORMAL_PRIORITY) + .addClass(this) + .addMethod(this) + .addSourceLine(this)); + } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-05-21 10:45:31
|
Revision: 1020 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1020&view=rev Author: dbrosius Date: 2008-05-21 03:45:22 -0700 (Wed, 21 May 2008) Log Message: ----------- add fps Modified Paths: -------------- trunk/fb-contrib/samples/MRC_Sample.java trunk/fb-contrib/samples/SPP_Sample.java Modified: trunk/fb-contrib/samples/MRC_Sample.java =================================================================== --- trunk/fb-contrib/samples/MRC_Sample.java 2008-04-18 06:08:46 UTC (rev 1019) +++ trunk/fb-contrib/samples/MRC_Sample.java 2008-05-21 10:45:22 UTC (rev 1020) @@ -1,4 +1,7 @@ +import java.util.Iterator; +import java.util.List; + public class MRC_Sample { private int getValue() { @@ -50,4 +53,19 @@ { sb.append("Foo"); } + + private int getCount(List<String> l) + { + int count = 0; + Iterator<String> it = l.iterator(); + while(it.hasNext()) + { + if("Foo".equals(it.next())) + { + count += 1; + } + } + + return count; + } } Modified: trunk/fb-contrib/samples/SPP_Sample.java =================================================================== --- trunk/fb-contrib/samples/SPP_Sample.java 2008-04-18 06:08:46 UTC (rev 1019) +++ trunk/fb-contrib/samples/SPP_Sample.java 2008-05-21 10:45:22 UTC (rev 1020) @@ -3,6 +3,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import java.util.StringTokenizer; public class SPP_Sample { @@ -164,4 +165,21 @@ else if (sb.toString().equals("")) System.out.println("Booya"); } + + public String cpNullOrZero(StringTokenizer tokenizer) + { + while (tokenizer.hasMoreTokens()) + { + String sField = tokenizer.nextToken(); + + if ((sField == null) || (sField.length() == 0)) + { + continue; + } + + return sField; + } + + return null; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-04-18 06:08:39
|
Revision: 1019 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1019&view=rev Author: dbrosius Date: 2008-04-17 23:08:46 -0700 (Thu, 17 Apr 2008) Log Message: ----------- make osgi compliant Modified Paths: -------------- trunk/fb-contrib/build.xml Modified: trunk/fb-contrib/build.xml =================================================================== --- trunk/fb-contrib/build.xml 2008-04-02 03:17:10 UTC (rev 1018) +++ trunk/fb-contrib/build.xml 2008-04-18 06:08:46 UTC (rev 1019) @@ -112,6 +112,12 @@ <manifest> <attribute name="fb-contrib-version" value="${fb-contrib.version}"/> <attribute name="Main-Class" value="com.mebigfatguy.fbcontrib.FBContrib"/> + <attribute name="Bundle-ManifestVersion" value="2"/> + <attribute name="Bundle-Name" value="fb-contrib plugin"/> + <attribute name="Bundle-SymbolicName" value="com.mebigfatguy.fbcontrib"/> + <attribute name="Bundle-Version" value="${fb-contrib.version}"/> + <attribute name="Import-Package" value="org.apache.bcel,org.apache.bcel.classfile,org.apache.bcel.generic,edu.umd.cs.findbugs,edu.umd.cs.findbugs.ba,edu.umd.cs.findbugs.visitclass"/> + <attribute name="Export-Package" value="com.mebigfatguy.fbcontrib,com.mebigfatguy.fbcontrib.collect,com.mebigfatguy.fbcontrib.detect,com.mebigfatguy.fbcontrib.utils"/> </manifest> </jar> </target> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-04-02 03:17:04
|
Revision: 1018 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1018&view=rev Author: dbrosius Date: 2008-04-01 20:17:10 -0700 (Tue, 01 Apr 2008) Log Message: ----------- remove deprecation Modified Paths: -------------- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SpoiledChildInterfaceImplementor.java Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SpoiledChildInterfaceImplementor.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SpoiledChildInterfaceImplementor.java 2008-04-02 03:15:53 UTC (rev 1017) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/SpoiledChildInterfaceImplementor.java 2008-04-02 03:17:10 UTC (rev 1018) @@ -74,7 +74,7 @@ filterSuperInterfaceMethods(inf, infMethods, superCls); if (infMethods.size() > 0) { if (!superCls.implementationOf(inf)) { - int priority = AnalysisContext.currentAnalysisContext().getSubtypes().isApplicationClass(superCls) ? NORMAL_PRIORITY : LOW_PRIORITY; + int priority = AnalysisContext.currentAnalysisContext().isApplicationClass(superCls) ? NORMAL_PRIORITY : LOW_PRIORITY; BugInstance bi = new BugInstance(this, "SCII_SPOILED_CHILD_INTERFACE_IMPLEMENTATOR", priority) .addClass(cls) .addString("Implementing interface: " + inf.getClassName()) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-04-02 03:15:53
|
Revision: 1017 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1017&view=rev Author: dbrosius Date: 2008-04-01 20:15:53 -0700 (Tue, 01 Apr 2008) Log Message: ----------- fix deprecations Modified Paths: -------------- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/FieldCouldBeLocal.java Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/FieldCouldBeLocal.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/FieldCouldBeLocal.java 2008-04-02 03:14:57 UTC (rev 1016) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/FieldCouldBeLocal.java 2008-04-02 03:15:53 UTC (rev 1017) @@ -209,7 +209,7 @@ bb = bState.getBasicBlock(); uncheckedFields = bState.getUncheckedFields(); - visitedBlocks.set(bb.getId()); + visitedBlocks.set(bb.getLabel()); InstructionIterator ii = bb.instructionIterator(); while ((uncheckedFields.size() > 0) && ii.hasNext()) { InstructionHandle ih = ii.next(); @@ -236,7 +236,7 @@ while (oei.hasNext()) { Edge e = oei.next(); BasicBlock cb = e.getTarget(); - if (!visitedBlocks.get(cb.getId())) { + if (!visitedBlocks.get(cb.getLabel())) { toBeProcessed.addLast(new BlockState(cb, uncheckedFields)); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |