diff options
Diffstat (limited to 'extern/draco/draco/src/draco/compression/decode.cc')
-rw-r--r-- | extern/draco/draco/src/draco/compression/decode.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/extern/draco/draco/src/draco/compression/decode.cc b/extern/draco/draco/src/draco/compression/decode.cc index ab70ef1ec60..92ae4ff66f9 100644 --- a/extern/draco/draco/src/draco/compression/decode.cc +++ b/extern/draco/draco/src/draco/compression/decode.cc @@ -56,7 +56,10 @@ StatusOr<EncodedGeometryType> Decoder::GetEncodedGeometryType( DecoderBuffer *in_buffer) { DecoderBuffer temp_buffer(*in_buffer); DracoHeader header; - DRACO_RETURN_IF_ERROR(PointCloudDecoder::DecodeHeader(&temp_buffer, &header)) + DRACO_RETURN_IF_ERROR(PointCloudDecoder::DecodeHeader(&temp_buffer, &header)); + if (header.encoder_type >= NUM_ENCODED_GEOMETRY_TYPES) { + return Status(Status::DRACO_ERROR, "Unsupported geometry type."); + } return static_cast<EncodedGeometryType>(header.encoder_type); } |