Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2
libtcnative-1-0
apache-tomcat-CVE-2010-2227.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File apache-tomcat-CVE-2010-2227.patch of Package libtcnative-1-0
Index: tomcat6-6.0.20/apache-tomcat-6.0.20-src/java/org/apache/coyote/http11/Http11Processor.java =================================================================== --- tomcat6-6.0.20/apache-tomcat-6.0.20-src/java/org/apache/coyote/http11/Http11Processor.java (revision 958976) +++ tomcat6-6.0.20/apache-tomcat-6.0.20-src/java/org/apache/coyote/http11/Http11Processor.java (revision 958977) @@ -74,6 +74,13 @@ protected static boolean isSecurityEnabled = org.apache.coyote.Constants.IS_SECURITY_ENABLED; + /* + * Tracks how many internal filters are in the filter library so they + * are skipped when looking for pluggable filters. + */ + private int pluggableFilterIndex = Integer.MAX_VALUE; + + // ------------------------------------------------------------ Constructor @@ -1638,6 +1645,8 @@ //inputBuffer.addFilter(new GzipInputFilter()); outputBuffer.addFilter(new GzipOutputFilter()); + pluggableFilterIndex = inputBuffer.filterLibrary.length; + } @@ -1656,7 +1665,7 @@ (inputFilters[Constants.CHUNKED_FILTER]); contentDelimitation = true; } else { - for (int i = 2; i < inputFilters.length; i++) { + for (int i = pluggableFilterIndex; i < inputFilters.length; i++) { if (inputFilters[i].getEncodingName() .toString().equals(encodingName)) { inputBuffer.addActiveFilter(inputFilters[i]); Index: tomcat6-6.0.20/apache-tomcat-6.0.20-src/java/org/apache/coyote/http11/Http11AprProcessor.java =================================================================== --- tomcat6-6.0.20/apache-tomcat-6.0.20-src/java/org/apache/coyote/http11/Http11AprProcessor.java (revision 958976) +++ tomcat6-6.0.20/apache-tomcat-6.0.20-src/java/org/apache/coyote/http11/Http11AprProcessor.java (revision 958977) @@ -78,7 +78,13 @@ protected static StringManager sm = StringManager.getManager(Constants.Package); + /* + * Tracks how many internal filters are in the filter library so they + * are skipped when looking for pluggable filters. + */ + private int pluggableFilterIndex = Integer.MAX_VALUE; + // ----------------------------------------------------------- Constructors @@ -1742,6 +1748,8 @@ //inputBuffer.addFilter(new GzipInputFilter()); outputBuffer.addFilter(new GzipOutputFilter()); + pluggableFilterIndex = inputBuffer.filterLibrary.length; + } @@ -1760,7 +1768,7 @@ (inputFilters[Constants.CHUNKED_FILTER]); contentDelimitation = true; } else { - for (int i = 2; i < inputFilters.length; i++) { + for (int i = pluggableFilterIndex; i < inputFilters.length; i++) { if (inputFilters[i].getEncodingName() .toString().equals(encodingName)) { inputBuffer.addActiveFilter(inputFilters[i]); Index: tomcat6-6.0.20/apache-tomcat-6.0.20-src/java/org/apache/coyote/http11/Http11NioProcessor.java =================================================================== --- tomcat6-6.0.20/apache-tomcat-6.0.20-src/java/org/apache/coyote/http11/Http11NioProcessor.java (revision 958976) +++ tomcat6-6.0.20/apache-tomcat-6.0.20-src/java/org/apache/coyote/http11/Http11NioProcessor.java (revision 958977) @@ -81,6 +81,13 @@ */ protected SSLSupport sslSupport; + /* + * Tracks how many internal filters are in the filter library so they + * are skipped when looking for pluggable filters. + */ + private int pluggableFilterIndex = Integer.MAX_VALUE; + + // ----------------------------------------------------------- Constructors @@ -1769,6 +1776,8 @@ //inputBuffer.addFilter(new GzipInputFilter()); outputBuffer.addFilter(new GzipOutputFilter()); + pluggableFilterIndex = inputBuffer.filterLibrary.length; + } @@ -1787,7 +1796,7 @@ (inputFilters[Constants.CHUNKED_FILTER]); contentDelimitation = true; } else { - for (int i = 2; i < inputFilters.length; i++) { + for (int i = pluggableFilterIndex; i < inputFilters.length; i++) { if (inputFilters[i].getEncodingName() .toString().equals(encodingName)) { inputBuffer.addActiveFilter(inputFilters[i]); Index: tomcat6-6.0.20/apache-tomcat-6.0.20-src/java/org/apache/coyote/http11/filters/BufferedInputFilter.java =================================================================== --- tomcat6-6.0.20/apache-tomcat-6.0.20-src/java/org/apache/coyote/http11/filters/BufferedInputFilter.java (revision 958976) +++ tomcat6-6.0.20/apache-tomcat-6.0.20-src/java/org/apache/coyote/http11/filters/BufferedInputFilter.java (revision 958977) @@ -102,10 +102,12 @@ } public void recycle() { - if (buffered.getBuffer().length > 65536) { - buffered = null; - } else { - buffered.recycle(); + if (buffered != null) { + if (buffered.getBuffer().length > 65536) { + buffered = null; + } else { + buffered.recycle(); + } } tempRead.recycle(); hasRead = false;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor