diff options
author | Jesse Wilson <jessewilson@google.com> | 2010-09-22 10:28:27 -0700 |
---|---|---|
committer | Jesse Wilson <jessewilson@google.com> | 2010-09-22 10:28:27 -0700 |
commit | 64b25cf736bc5f9b9f6d548f0694fb76fe805d0c (patch) | |
tree | ea99384a30a7c996ff10d84aa2b94c5600ddcdd3 /core | |
parent | b08013c312e3d849029a2f4c11889274c00f438d (diff) | |
download | frameworks_base-64b25cf736bc5f9b9f6d548f0694fb76fe805d0c.zip frameworks_base-64b25cf736bc5f9b9f6d548f0694fb76fe805d0c.tar.gz frameworks_base-64b25cf736bc5f9b9f6d548f0694fb76fe805d0c.tar.bz2 |
Fix problem where Base64InputStream single-byte reads were unsigned.
Change-Id: Ibdfb77a283300baa61738fe98aa1c9f29eaf976f
http://b/3026478
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/util/Base64InputStream.java | 2 | ||||
-rw-r--r-- | core/tests/coretests/src/android/util/Base64Test.java | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/core/java/android/util/Base64InputStream.java b/core/java/android/util/Base64InputStream.java index da3911d..e9dac24 100644 --- a/core/java/android/util/Base64InputStream.java +++ b/core/java/android/util/Base64InputStream.java @@ -112,7 +112,7 @@ public class Base64InputStream extends FilterInputStream { if (outputStart >= outputEnd) { return -1; } else { - return coder.output[outputStart++]; + return coder.output[outputStart++] & 0xff; } } diff --git a/core/tests/coretests/src/android/util/Base64Test.java b/core/tests/coretests/src/android/util/Base64Test.java index 0f5b090..53368d4 100644 --- a/core/tests/coretests/src/android/util/Base64Test.java +++ b/core/tests/coretests/src/android/util/Base64Test.java @@ -16,6 +16,9 @@ package android.util; +import java.io.IOException; +import java.io.InputStream; +import java.util.Arrays; import junit.framework.TestCase; import java.io.ByteArrayInputStream; @@ -404,6 +407,14 @@ public class Base64Test extends TestCase { } } + /** http://b/3026478 */ + public void testSingleByteReads() throws IOException { + InputStream in = new Base64InputStream( + new ByteArrayInputStream("/v8=".getBytes()), Base64.DEFAULT); + assertEquals(254, in.read()); + assertEquals(255, in.read()); + } + /** * Tests that Base64OutputStream produces exactly the same results * as calling Base64.encode/.decode on an in-memory array. |