@@ -0,0 +1,574 @@
+package tomcat;%0A%0A// Inspired by false positive in org.apache.coyote.http11.InternalInputBuffer%0Apublic class InternalInputBuffer %7B%0A%09%0A%09byte %5B%5D buf = new byte%5B100%5D;%0A%09%0A%09Object foo() %7B%0A%09%09return new Object();%0A%09%7D%0A%09int falsePositive(boolean b) %7B%0A%09%09boolean colon = false;%0A%09%09int result;%0A%09%09Object headerValue = null;%0A%09%09int pos = 0;%0A%09%09// this should be a do-while rather than a while-do loop%0A%09%09while (!colon) %7B%0A%09%09%09if (buf%5Bpos%5D == 58) %7B%0A%09%09%09%09headerValue = foo();%0A%09%09%09%09colon = true;%0A%09%09%09%7D%0A%09%09%09pos++;%0A%09%09%7D%0A%09%09if (b) result = 1;%0A%09%09else result = 2;%0A%09%09return result + headerValue.hashCode();%0A%09%7D%0A%0A%7D%0A

false positive test case