[gnutls-devel] libtasn1 | Reading CHOICE name confuses valgrind (#9)

Development of GNU's TLS library gnutls-devel at lists.gnutls.org
Thu Jul 18 16:16:07 CEST 2019




Nikos Mavrogiannopoulos commented:


The libtasn1 node contains the following:
```
#define ASN1_SMALL_VALUE_SIZE 16
struct asn1_node_st
{
  /* public fields: */
  char name[ASN1_MAX_NAME_SIZE + 1];    /* Node name */
  unsigned int name_hash;
  unsigned int type;            /* Node type */
  unsigned char *value;         /* Node value */
  int value_len;
  asn1_node down;               /* Pointer to the son node */
  asn1_node right;              /* Pointer to the brother node */
  asn1_node left;               /* Pointer to the next list element */
  /* private fields: */
  unsigned char small_value[ASN1_SMALL_VALUE_SIZE];     /* For small values */

  /* values used during decoding/coding */
  int tmp_ival;
  unsigned start; /* the start of the DER sequence - if decoded */
  unsigned end; /* the end of the DER sequence - if decoded */
};
```
It can store data <16 bytes inside the node (small_value), or allocate more data if larger. That from what you write seems to be related to allocated data in `_asn1_set_value`.

-- 
Reply to this email directly or view it on GitLab: https://gitlab.com/gnutls/libtasn1/issues/9#note_193327009
You're receiving this email because of your account on gitlab.com.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnutls-devel/attachments/20190718/43119687/attachment.html>


More information about the Gnutls-devel mailing list