summaryrefslogtreecommitdiffstats
path: root/luni
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2011-02-24 19:34:23 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-02-24 19:34:23 -0800
commitcb1ed37295a7c13781a599d02687884243526c37 (patch)
tree9b310547015a42d04fb3b6dc9a71b14b1d91e3be /luni
parent6433c7a0ea749a69f756d62576eeae8e7bd57215 (diff)
parentf5309a39506c967feda8766feeba7f7271a458cb (diff)
downloadlibcore-cb1ed37295a7c13781a599d02687884243526c37.zip
libcore-cb1ed37295a7c13781a599d02687884243526c37.tar.gz
libcore-cb1ed37295a7c13781a599d02687884243526c37.tar.bz2
Merge "Fix more FindBugs warnings: RR_NOT_CHECKED." into dalvik-dev
Diffstat (limited to 'luni')
-rw-r--r--luni/src/main/java/java/util/zip/ZipInputStream.java2
-rw-r--r--luni/src/main/java/libcore/io/Streams.java12
-rw-r--r--luni/src/main/java/org/apache/harmony/security/provider/cert/X509CertFactoryImpl.java5
-rw-r--r--luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java4
-rw-r--r--luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CertificateRequest.java3
-rw-r--r--luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHello.java3
-rw-r--r--luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientKeyExchange.java3
-rw-r--r--luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHello.java3
8 files changed, 25 insertions, 10 deletions
diff --git a/luni/src/main/java/java/util/zip/ZipInputStream.java b/luni/src/main/java/java/util/zip/ZipInputStream.java
index 560a221..b62d305 100644
--- a/luni/src/main/java/java/util/zip/ZipInputStream.java
+++ b/luni/src/main/java/java/util/zip/ZipInputStream.java
@@ -195,7 +195,7 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants
private void readAndVerifyDataDescriptor(int inB, int out) throws IOException {
if (hasDD) {
- in.read(hdrBuf, 0, EXTHDR);
+ Streams.readFully(in, hdrBuf, 0, EXTHDR);
int sig = OSMemory.peekInt(hdrBuf, 0, ByteOrder.LITTLE_ENDIAN);
if (sig != (int) EXTSIG) {
throw new ZipException(String.format("unknown format (EXTSIG=%x)", sig));
diff --git a/luni/src/main/java/libcore/io/Streams.java b/luni/src/main/java/libcore/io/Streams.java
index 6771369..351a240 100644
--- a/luni/src/main/java/libcore/io/Streams.java
+++ b/luni/src/main/java/libcore/io/Streams.java
@@ -30,7 +30,17 @@ public final class Streams {
private Streams() {}
/**
- * Implements {@link java.io.DataInputStream#readFully(byte[], int, int)}.
+ * Fills 'dst' with bytes from 'in', throwing EOFException if insufficient bytes are available.
+ */
+ public static void readFully(InputStream in, byte[] dst) throws IOException {
+ readFully(in, dst, 0, dst.length);
+ }
+
+ /**
+ * Reads exactly 'byteCount' bytes from 'in' (into 'dst' at offset 'offset'), and throws
+ * EOFException if insufficient bytes are available.
+ *
+ * Used to implement {@link java.io.DataInputStream#readFully(byte[], int, int)}.
*/
public static void readFully(InputStream in, byte[] dst, int offset, int byteCount) throws IOException {
if (byteCount == 0) {
diff --git a/luni/src/main/java/org/apache/harmony/security/provider/cert/X509CertFactoryImpl.java b/luni/src/main/java/org/apache/harmony/security/provider/cert/X509CertFactoryImpl.java
index da53201..4b3cd0e 100644
--- a/luni/src/main/java/org/apache/harmony/security/provider/cert/X509CertFactoryImpl.java
+++ b/luni/src/main/java/org/apache/harmony/security/provider/cert/X509CertFactoryImpl.java
@@ -36,6 +36,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
+import libcore.io.Streams;
import org.apache.harmony.luni.util.Base64;
import org.apache.harmony.security.asn1.ASN1Constants;
import org.apache.harmony.security.asn1.BerInputStream;
@@ -642,7 +643,7 @@ public class X509CertFactoryImpl extends CertificateFactorySpi {
if (encoding.length < CERT_CACHE_SEED_LENGTH) {
throw new CertificateException("Bad Certificate encoding");
}
- inStream.read(encoding);
+ Streams.readFully(inStream, encoding);
Certificate res = (Certificate) CERT_CACHE.get(hash, encoding);
if (res != null) {
return res;
@@ -713,7 +714,7 @@ public class X509CertFactoryImpl extends CertificateFactorySpi {
if (encoding.length < CRL_CACHE_SEED_LENGTH) {
throw new CRLException("Bad CRL encoding");
}
- inStream.read(encoding);
+ Streams.readFully(inStream, encoding);
CRL res = (CRL) CRL_CACHE.get(hash, encoding);
if (res != null) {
return res;
diff --git a/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java b/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java
index cd9da59..2420fbe 100644
--- a/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java
+++ b/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java
@@ -24,6 +24,7 @@ import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.security.InvalidParameterException;
import java.security.SecureRandomSpi;
+import libcore.io.Streams;
import libcore.util.EmptyArray;
/**
@@ -523,7 +524,6 @@ public class SHA1PRNG_SecureRandomImpl extends SecureRandomSpi implements Serial
}
nextBIndex = ois.readInt();
- ois.read(nextBytes, nextBIndex, HASHBYTES_TO_USE - nextBIndex);
+ Streams.readFully(ois, nextBytes, nextBIndex, HASHBYTES_TO_USE - nextBIndex);
}
-
}
diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CertificateRequest.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CertificateRequest.java
index 401fe39..f3be44c 100644
--- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CertificateRequest.java
+++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CertificateRequest.java
@@ -21,6 +21,7 @@ import java.io.IOException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import javax.security.auth.x500.X500Principal;
+import libcore.io.Streams;
/**
*
@@ -88,7 +89,7 @@ public class CertificateRequest extends Message {
public CertificateRequest(HandshakeIODataStream in, int length) throws IOException {
int size = in.readUint8();
certificate_types = new byte[size];
- in.read(certificate_types, 0, size);
+ Streams.readFully(in, certificate_types);
size = in.readUint16();
int totalPrincipalsLength = 0;
int principalLength = 0;
diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHello.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHello.java
index 5fcbba5..1bded5d 100644
--- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHello.java
+++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHello.java
@@ -20,6 +20,7 @@ package org.apache.harmony.xnet.provider.jsse;
import java.io.IOException;
import java.security.SecureRandom;
import java.util.Arrays;
+import libcore.io.Streams;
import libcore.util.EmptyArray;
/**
@@ -88,7 +89,7 @@ public class ClientHello extends Message {
client_version = new byte[2];
client_version[0] = (byte) in.readUint8();
client_version[1] = (byte) in.readUint8();
- in.read(random, 0, 32);
+ Streams.readFully(in, random);
int size = in.read();
session_id = new byte[size];
in.read(session_id, 0, size);
diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientKeyExchange.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientKeyExchange.java
index bfe2bd0..2bae8d0 100644
--- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientKeyExchange.java
+++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientKeyExchange.java
@@ -19,6 +19,7 @@ package org.apache.harmony.xnet.provider.jsse;
import java.io.IOException;
import java.math.BigInteger;
+import libcore.io.Streams;
import libcore.util.EmptyArray;
/**
@@ -109,7 +110,7 @@ public class ClientKeyExchange extends Message {
this.length = 2 + size;
}
exchange_keys = new byte[size];
- in.read(exchange_keys, 0, size);
+ Streams.readFully(in, exchange_keys);
if (this.length != length) {
fatalAlert(AlertProtocol.DECODE_ERROR, "DECODE ERROR: incorrect ClientKeyExchange");
}
diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHello.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHello.java
index 1fa848a..00a25f8 100644
--- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHello.java
+++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHello.java
@@ -19,6 +19,7 @@ package org.apache.harmony.xnet.provider.jsse;
import java.io.IOException;
import java.security.SecureRandom;
+import libcore.io.Streams;
/**
*
@@ -86,7 +87,7 @@ public class ServerHello extends Message {
server_version[0] = (byte) in.read();
server_version[1] = (byte) in.read();
- in.read(random, 0, 32);
+ Streams.readFully(in, random);
int size = in.readUint8();
session_id = new byte[size];
in.read(session_id, 0, size);