| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <!-- |
| This file contains some false positive bugs detected by findbugs. Their |
| false positive nature has been analyzed individually and they have been |
| put here to instruct findbugs it must ignore them. |
| --> |
| <FindBugsFilter> |
| |
| <!-- Reason: References to System.out/err == --> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.Lister" /> |
| <Or> |
| <Method name="main" /> |
| <Method name="usage" /> |
| </Or> |
| <Bug pattern="NP_ALWAYS_NULL" /> |
| </Match> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.zip.ZipFile" /> |
| <Method name="finalize" /> |
| <Bug pattern="NP_ALWAYS_NULL" /> |
| </Match> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.dump.DumpArchiveUtil" /> |
| <Method name="dumpBlock" /> |
| <Bug pattern="NP_ALWAYS_NULL" /> |
| </Match> |
| |
| <!-- Reason: fallthrough is intended --> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.zip.ExtraFieldUtils" /> |
| <Method name="parse" /> |
| <Bug pattern="SF_SWITCH_FALLTHROUGH" /> |
| </Match> |
| <Match> |
| <Class name="org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream" /> |
| <Method name="read" /> |
| <Bug pattern="SF_SWITCH_FALLTHROUGH" /> |
| </Match> |
| |
| <!-- Reason: fields unused as documented --> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.jar.JarArchiveEntry" /> |
| <Or> |
| <Field name="certificates"/> |
| <Field name="manifestAttributes"/> |
| </Or> |
| <Bug pattern="UWF_NULL_FIELD" /> |
| </Match> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.dump.DumpArchiveEntry" /> |
| <Field name="summary"/> |
| <Bug pattern="UWF_NULL_FIELD" /> |
| </Match> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.sevenz.Folder" /> |
| <Or> |
| <Field name="totalInputStreams"/> |
| </Or> |
| <Bug pattern="URF_UNREAD_FIELD" /> |
| </Match> |
| |
| <!-- Reason: exception in close swallowed in order to re-throw original in caller --> |
| <Match> |
| <Class name="org.apache.commons.compress.utils.IOUtils" /> |
| <Method name="closeQuietly" /> |
| <Bug pattern="DE_MIGHT_IGNORE" /> |
| </Match> |
| |
| <!-- Reason: skip(Long.MAX_VALUE) called to drain stream completely, |
| the class overrides skip to ensure it reads the full amount |
| until EOF is reached --> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.zip.ZipArchiveInputStream" /> |
| <Method name="closeEntry" /> |
| <Bug pattern="SR_NOT_CHECKED" /> |
| </Match> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.tar.TarArchiveInputStream" /> |
| <Method name="getNextTarEntry" /> |
| <Bug pattern="SR_NOT_CHECKED" /> |
| </Match> |
| |
| <!-- Reason: trying to delete a temporary file that has deleteOnExit set |
| anyway --> |
| <Match> |
| <Class name="org.apache.commons.compress.compressors.pack200.Pack200Utils" /> |
| <Method name="normalize" /> |
| <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE" /> |
| </Match> |
| <Match> |
| <Class name="org.apache.commons.compress.compressors.pack200.TempFileCachingStreamBridge$1" /> |
| <Method name="close" /> |
| <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE" /> |
| </Match> |
| |
| <!-- Reason: It is the Pack200*Stream that's going to close it. --> |
| <Match> |
| <Class name="org.apache.commons.compress.compressors.pack200.TempFileCachingStreamBridge$1" /> |
| <Method name="<init>" /> |
| <Bug pattern="OBL_UNSATISFIED_OBLIGATION" /> |
| </Match> |
| |
| <!-- Reason: the contract is to use default encoding (unless told otherwise) --> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.arj.ArjArchiveInputStream" /> |
| <Method name="readString" /> |
| <Bug pattern="DM_DEFAULT_ENCODING" /> |
| </Match> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.zip.AsiExtraField" /> |
| <Or> |
| <Method name="getLocalFileDataData" /> |
| <Method name="getLocalFileDataLength" /> |
| <Method name="parseFromLocalFileData" /> |
| </Or> |
| <Bug pattern="DM_DEFAULT_ENCODING" /> |
| </Match> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.zip.FallbackZipEncoding" /> |
| <Or> |
| <Method name="decode" /> |
| <Method name="encode" /> |
| </Or> |
| <Bug pattern="DM_DEFAULT_ENCODING" /> |
| </Match> |
| |
| <!-- Reason: default encoding is good enough for exception message --> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.tar.TarUtils" /> |
| <Method name="exceptionMessage" /> |
| <Bug pattern="DM_DEFAULT_ENCODING" /> |
| </Match> |
| |
| <!-- Reason: unrolled loop, all possible cases are covered --> |
| <Match> |
| <Class name="org.apache.commons.compress.compressors.snappy.PureJavaCrc32C" /> |
| <Method name="update" /> |
| <Bug pattern="SF_SWITCH_NO_DEFAULT" /> |
| </Match> |
| |
| <!-- Reason: class only adds unused always-null fields and superclass' equals is sufficient --> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.jar.JarArchiveEntry" /> |
| <Method name="equals" /> |
| <Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS" /> |
| </Match> |
| |
| <!-- Reason: failure to delete a file that may not exist. And we really don't care that much either --> |
| <Match> |
| <Class name="org.apache.commons.compress.parallel.FileBasedScatterGatherBackingStore" /> |
| <Method name="close" /> |
| <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE" /> |
| </Match> |
| |
| <!-- Reason: nested code can throw IllegalArgumentException if |
| stream is not a TAR stream --> |
| <Match> |
| <Class name="org.apache.commons.compress.archivers.ArchiveStreamFactory" /> |
| <Method name="createArchiveInputStream" /> |
| <Bug pattern="REC_CATCH_EXCEPTION" /> |
| </Match> |
| |
| <!-- the class wants to allow outside access to the array, just like |
| ByteBuffer.wrap does --> |
| <Match> |
| <Class name="org.apache.commons.compress.utils.SeekableInMemoryByteChannel" /> |
| <Method name="array" /> |
| <Bug pattern="EI_EXPOSE_REP" /> |
| </Match> |
| <Match> |
| <Class name="org.apache.commons.compress.utils.SeekableInMemoryByteChannel" /> |
| <Method name="<init>" /> |
| <Bug pattern="EI_EXPOSE_REP2" /> |
| </Match> |
| |
| <!-- the array is exposed deliberately to improve performance and it |
| is documented that way --> |
| <Match> |
| <Class name="org.apache.commons.compress.compressors.lz77support.LZ77Compressor$LiteralBlock" /> |
| <Method name="getData" /> |
| <Bug pattern="EI_EXPOSE_REP" /> |
| </Match> |
| <Match> |
| <Class name="org.apache.commons.compress.compressors.lz77support.LZ77Compressor$LiteralBlock" /> |
| <Method name="<init>" /> |
| <Bug pattern="EI_EXPOSE_REP2" /> |
| </Match> |
| |
| </FindBugsFilter> |