Author: bodewig
Date: Thu Feb 5 12:45:23 2009
New Revision: 741092
URL: http://svn.apache.org/viewvc?rev=741092&view=rev
Log:
merge revision 741089 from Ant trunk - fix for various findbugs issues -
[SANDBOX-246]
Modified:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/
(props changed)
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarInputStream.java
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarOutputStream.java
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/
(props changed)
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnrecognizedExtraField.java
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
(contents, props changed)
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipLong.java
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipShort.java
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorOutputStream.java
(contents, props changed)
Propchange:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/
------------------------------------------------------------------------------
svn:mergeinfo = /ant/core/trunk/src/main/org/apache/tools/tar:741089
Modified:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarInputStream.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarInputStream.java?rev=741092&r1=741091&r2=741092&view=diff
==============================================================================
---
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarInputStream.java
(original)
+++
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarInputStream.java
Thu Feb 5 12:45:23 2009
@@ -218,8 +218,13 @@
+ numToSkip + " bytes");
}
- if (numToSkip > 0) {
- skip(numToSkip);
+ while (numToSkip > 0) {
+ long skipped = skip(numToSkip);
+ if (skipped <= 0) {
+ throw new RuntimeException("failed to skip current tar"
+ + " entry");
+ }
+ numToSkip -= skipped;
}
readBuf = null;
Modified:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarOutputStream.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarOutputStream.java?rev=741092&r1=741091&r2=741092&view=diff
==============================================================================
---
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarOutputStream.java
(original)
+++
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarOutputStream.java
Thu Feb 5 12:45:23 2009
@@ -305,7 +305,7 @@
wOffset += numToWrite;
assemLen += numToWrite;
- numToWrite -= numToWrite;
+ numToWrite = 0;
}
}
Propchange:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 5 12:45:23 2009
@@ -1 +1 @@
-/ant/core/trunk/src/main/org/apache/tools/zip:738844,739300
+/ant/core/trunk/src/main/org/apache/tools/zip:738844,739300,741089
Modified:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java?rev=741092&r1=741091&r2=741092&view=diff
==============================================================================
---
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java
(original)
+++
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java
Thu Feb 5 12:45:23 2009
@@ -334,4 +334,14 @@
return type | (mode & PERM_MASK);
}
+ public Object clone() {
+ try {
+ AsiExtraField cloned = (AsiExtraField) super.clone();
+ cloned.crc = new CRC32();
+ return cloned;
+ } catch (CloneNotSupportedException cnfe) {
+ // impossible
+ throw new RuntimeException(cnfe);
+ }
+ }
}
Modified:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnrecognizedExtraField.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnrecognizedExtraField.java?rev=741092&r1=741091&r2=741092&view=diff
==============================================================================
---
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnrecognizedExtraField.java
(original)
+++
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnrecognizedExtraField.java
Thu Feb 5 12:45:23 2009
@@ -57,7 +57,7 @@
*/
public void setCentralDirectoryData( final byte[] centralData )
{
- m_centralData = centralData;
+ m_centralData = copy(centralData);
}
/**
@@ -77,7 +77,7 @@
*/
public void setLocalFileDataData( final byte[] localData )
{
- m_localData = localData;
+ m_localData = copy(localData);
}
/**
@@ -89,7 +89,7 @@
{
if( m_centralData != null )
{
- return m_centralData;
+ return copy(m_centralData);
}
return getLocalFileDataData();
}
@@ -125,7 +125,7 @@
*/
public byte[] getLocalFileDataData()
{
- return m_localData;
+ return copy(m_localData);
}
/**
@@ -153,4 +153,13 @@
System.arraycopy( buffer, offset, fileData, 0, length );
setLocalFileDataData( fileData );
}
+
+ private static byte[] copy(byte[] from) {
+ if (from != null) {
+ byte[] to = new byte[from.length];
+ System.arraycopy(from, 0, to, 0, to.length);
+ return to;
+ }
+ return null;
+ }
}
Modified:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java?rev=741092&r1=741091&r2=741092&view=diff
==============================================================================
---
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
(original)
+++
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
Thu Feb 5 12:45:23 2009
@@ -344,7 +344,15 @@
nameMap.put(ze.getName(), ze);
- archive.skipBytes(extraLen);
+ int lenToSkip = extraLen;
+ while (lenToSkip > 0) {
+ int skipped = archive.skipBytes(lenToSkip);
+ if (skipped <= 0) {
+ throw new RuntimeException("failed to skip extra data in"
+ + " central directory");
+ }
+ lenToSkip -= skipped;
+ }
byte[] comment = new byte[commentLen];
archive.readFully(comment);
@@ -460,7 +468,15 @@
int fileNameLen = ZipShort.getValue(b);
archive.readFully(b);
int extraFieldLen = ZipShort.getValue(b);
- archive.skipBytes(fileNameLen);
+ int lenToSkip = fileNameLen;
+ while (lenToSkip > 0) {
+ int skipped = archive.skipBytes(lenToSkip);
+ if (skipped <= 0) {
+ throw new RuntimeException("failed to skip file name in"
+ + " local file header");
+ }
+ lenToSkip -= skipped;
+ }
byte[] localExtraData = new byte[extraFieldLen];
archive.readFully(localExtraData);
ze.setExtra(localExtraData);
Propchange:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 5 12:45:23 2009
@@ -1 +1 @@
-/ant/core/trunk/src/main/org/apache/tools/zip/ZipFile.java:738844,738853,739300
+/ant/core/trunk/src/main/org/apache/tools/zip/ZipFile.java:738844,738853,739300,741089
Modified:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipLong.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipLong.java?rev=741092&r1=741091&r2=741092&view=diff
==============================================================================
---
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipLong.java
(original)
+++
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipLong.java
Thu Feb 5 12:45:23 2009
@@ -146,4 +146,13 @@
public int hashCode() {
return (int) value;
}
+
+ public Object clone() {
+ try {
+ return (ZipLong) super.clone();
+ } catch (CloneNotSupportedException cnfe) {
+ // impossible
+ throw new RuntimeException(cnfe);
+ }
+ }
}
Modified:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipShort.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipShort.java?rev=741092&r1=741091&r2=741092&view=diff
==============================================================================
---
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipShort.java
(original)
+++
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipShort.java
Thu Feb 5 12:45:23 2009
@@ -132,4 +132,13 @@
public int hashCode() {
return value;
}
+
+ public Object clone() {
+ try {
+ return (ZipShort) super.clone();
+ } catch (CloneNotSupportedException cnfe) {
+ // impossible
+ throw new RuntimeException(cnfe);
+ }
+ }
}
Modified:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorOutputStream.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorOutputStream.java?rev=741092&r1=741091&r2=741092&view=diff
==============================================================================
---
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorOutputStream.java
(original)
+++
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorOutputStream.java
Thu Feb 5 12:45:23 2009
@@ -614,7 +614,7 @@
}
if (ge > gs && nPart != nGroups && nPart != 1
- && ((nGroups - nPart) % 2 == 1)) {
+ && ((nGroups - nPart) % 2 != 0)) {
aFreq -= mtfFreq[ge];
ge--;
}
@@ -984,9 +984,7 @@
b = t;
}
if (b > c) {
- t = b;
b = c;
- c = t;
}
if (a > b) {
b = a;
@@ -1031,7 +1029,7 @@
med = med3(block[zptr[lo] + d + 1],
block[zptr[hi ] + d + 1],
- block[zptr[(lo + hi) >> 1] + d + 1]);
+ block[zptr[(lo + hi) >>> 1] + d + 1]);
unLo = ltLo = lo;
unHi = gtHi = hi;
Propchange:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorOutputStream.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Feb 5 12:45:23 2009
@@ -0,0 +1 @@
+/ant/core/trunk/src/main/org/apache/tools/bzip2/CBZip2OutputStream.java:741089