Provided by: libowfat-dev_0.32-4.1build1_amd64 bug

NAME

       scan_asn1derlengthvalue - decode an unsigned integer from ASN.1 DER length encoding

SYNTAX

       #include <libowfat/scan.h>

       size_t scan_asn1derlengthvalue(const char *src,size_t len,unsigned long long *dest);

DESCRIPTION

       scan_asn1derlengthvalue  decodes  an  unsigned integer in ASN.1 DER length encoding from a
       memory area holding binary data.  It writes the decode  value  in  dest  and  returns  the
       number of bytes it read from src.

       scan_asn1derlength  never  reads  more than len bytes from src.  If the sequence is longer
       than that, or the memory area contains an invalid sequence, scan_asn1derlength  returns  0
       and does not touch dest.

       The  length  of  the  longest  spec-compliant  ASN.1  DER  length  is  128 bytes, but this
       implementation will return an error if the value does not  fit  into  the  target  integer
       type.  In practice the largest sequence is sizeof(*dest)+1.

       This  implementation  will  reject  values  that  are not encoded in the minimum amount of
       bytes.

       If you need to decode the length value so you  can  parse  actual  ASN.1  tag/length/value
       structures,  please  consider  using  scan_asn1derlength instead, as it will do additional
       checking for you.

SEE ALSO

       fmt_asn1derlength(3), scan_asn1derlengthvalue(3)

                                                                            scan_asn1derlength(3)