You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2008/09/30 19:28:13 UTC
svn commit: r700532 -
/tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java
Author: markt
Date: Tue Sep 30 10:28:12 2008
New Revision: 700532
URL: http://svn.apache.org/viewvc?rev=700532&view=rev
Log:
Fix some more Find Bugs nags in the CGIServlet. Minor functional changes.
Modified:
tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java
Modified: tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java?rev=700532&r1=700531&r2=700532&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java (original)
+++ tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java Tue Sep 30 10:28:12 2008
@@ -1143,7 +1143,11 @@
String dirPath = destPath.toString().substring(
0,destPath.toString().lastIndexOf("/"));
File dir = new File(dirPath);
- dir.mkdirs();
+ if (!dir.mkdirs() && debug >= 2) {
+ log("expandCGIScript: failed to create directories for '" +
+ dir.getAbsolutePath() + "'");
+ return;
+ }
try {
synchronized (expandFileLock) {
@@ -1169,7 +1173,10 @@
} catch (IOException ioe) {
// delete in case file is corrupted
if (f.exists()) {
- f.delete();
+ if (!f.delete() && debug >= 2) {
+ log("expandCGIScript: failed to delete '" +
+ f.getAbsolutePath() + "'");
+ }
}
}
}
@@ -1591,6 +1598,7 @@
* with major modifications by Martin Dengler
*/
Runtime rt = null;
+ BufferedReader cgiHeaderReader = null;
InputStream cgiOutput = null;
BufferedReader commandsStdErr = null;
BufferedOutputStream commandsStdIn = null;
@@ -1658,7 +1666,7 @@
InputStream cgiHeaderStream =
new HTTPHeaderInputStream(proc.getInputStream());
- BufferedReader cgiHeaderReader =
+ cgiHeaderReader =
new BufferedReader(new InputStreamReader(cgiHeaderStream));
while (isRunning) {
@@ -1728,6 +1736,14 @@
throw e;
}
finally{
+ // Close the header reader
+ if (cgiHeaderReader != null) {
+ try {
+ cgiHeaderReader.close();
+ } catch (IOException ioe) {
+ log ("Exception closing header reader " + ioe);
+ }
+ }
// Close the output stream if used
if (cgiOutput != null) {
try {
@@ -1833,7 +1849,7 @@
* upto and including the two blank lines terminating the headers. It
* allows the content to be read using bytes or characters as appropriate.
*/
- protected class HTTPHeaderInputStream extends InputStream {
+ protected static class HTTPHeaderInputStream extends InputStream {
private static final int STATE_CHARACTER = 0;
private static final int STATE_FIRST_CR = 1;
private static final int STATE_FIRST_LF = 2;
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org