AVRO-1869: Java: Fix Decimal conversion from ByteBuffer.
diff --git a/CHANGES.txt b/CHANGES.txt
index 37ff25c..0dfbdfc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -15,6 +15,8 @@
     AVRO-1741: Python3: Fix error when codec is not in the header.
     (Matthew Hayes via blue)
 
+    AVRO-1869: Java: Fix Decimal conversion from ByteBuffer. (blue)
+
 Avro 1.8.1 (14 May 2016)
 
   INCOMPATIBLE CHANGES
diff --git a/lang/java/avro/src/main/java/org/apache/avro/Conversions.java b/lang/java/avro/src/main/java/org/apache/avro/Conversions.java
index bf429ea..e95add7 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/Conversions.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/Conversions.java
@@ -80,7 +80,8 @@
     public BigDecimal fromBytes(ByteBuffer value, Schema schema, LogicalType type) {
       int scale = ((LogicalTypes.Decimal) type).getScale();
       // always copy the bytes out because BigInteger has no offset/length ctor
-      byte[] bytes = value.get(new byte[value.remaining()]).array();
+      byte[] bytes = new byte[value.remaining()];
+      value.get(bytes);
       return new BigDecimal(new BigInteger(bytes), scale);
     }