# HG changeset patch # User František Kučera # Date 1624177430 -7200 # Node ID 243ef6c91dbb7c0091f4b38930a1482414bd640c # Parent 8fbe93f78e2bd276c3a3ba0b1c17c0105af6a707 BasicASN1Reader: parse type and length as array diff -r 8fbe93f78e2b -r 243ef6c91dbb src/lib/BasicASN1Reader.h --- a/src/lib/BasicASN1Reader.h Sat Jun 19 22:43:00 2021 +0200 +++ b/src/lib/BasicASN1Reader.h Sun Jun 20 10:23:50 2021 +0200 @@ -18,6 +18,7 @@ #include #include +#include #include "ASN1Reader.h" @@ -43,8 +44,8 @@ bool started = false; void readNext() { - char type; - read(&type, 1); + std::array typeAndLength; + read(typeAndLength.data(), typeAndLength.size()); commit(); if (!started) { @@ -55,7 +56,8 @@ handlers.writeCollectionStart(ASN1ContentHandler::CollectionType::Sequence); handlers.writeNull(); handlers.writeBoolean(true); - handlers.writeInteger(type); + handlers.writeInteger(typeAndLength[0]); + handlers.writeInteger(typeAndLength[1]); handlers.writeString(ASN1ContentHandler::StringType::UTF8String, "relational pipes"); handlers.writeCollectionEnd();