diff options
author | Salim Achouche <sachouche2@gmail.com> | 2019-01-30 14:26:58 -0800 |
---|---|---|
committer | Aman Sinha <asinha@maprtech.com> | 2019-02-01 10:18:35 -0800 |
commit | b1594cbcc5491eaa6675c3fc5fb8b7eee6430d19 (patch) | |
tree | 1d094a18d446b837d68646fccad9591ab1d66e38 | |
parent | 9c82e06b93cf39bbbe11b90aaa6713806fa4aa36 (diff) |
DRILL-7018: Fixed Parquet buffer overflow when reading timestamp column
close apache/drill#1630
-rw-r--r-- | exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/columnreaders/NullableFixedByteAlignedReaders.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/columnreaders/NullableFixedByteAlignedReaders.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/columnreaders/NullableFixedByteAlignedReaders.java index 5d8c9c2c4..886721eb3 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/columnreaders/NullableFixedByteAlignedReaders.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/columnreaders/NullableFixedByteAlignedReaders.java @@ -111,6 +111,9 @@ public class NullableFixedByteAlignedReaders { NullableFixedBinaryAsTimeStampReader(ParquetRecordReader parentReader, ColumnDescriptor descriptor, ColumnChunkMetaData columnChunkMetaData, boolean fixedLength, NullableTimeStampVector v, SchemaElement schemaElement) throws ExecutionSetupException { super(parentReader, descriptor, columnChunkMetaData, fixedLength, v, schemaElement); + + // The width of each element of the TimeStampVector is 8 bytes (64 bits) instead of 12 bytes. + dataTypeLengthInBits = NullableTimeStampHolder.WIDTH * 8; } @Override @@ -127,8 +130,6 @@ public class NullableFixedByteAlignedReaders { valueVec.getMutator().setSafe(valuesReadInCurrentPass + i, getDateTimeValueFromBinary(binaryTimeStampValue, true)); } } - // The width of each element of the TimeStampVector is 8 bytes (64 bits) instead of 12 bytes. - dataTypeLengthInBits = NullableTimeStampHolder.WIDTH * 8; } } |