crypto/x509v3/v3_prn.c:130: error: NULL_DEREFERENCE
  pointer `extoct` last assigned on line 129 could be null and is dereferenced by call to `ASN1_STRING_data()` at line 130, column 9.
Showing all 13 steps of the trace


crypto/x509v3/v3_prn.c:117:1: start of procedure X509V3_EXT_print()
115.   /* Main routine: print out a general extension */
116.   
117. > int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag,
118.                        int indent)
119.   {

crypto/x509v3/v3_prn.c:120:5: 
118.                        int indent)
119.   {
120. >     void *ext_str = NULL;
121.       char *value = NULL;
122.       ASN1_OCTET_STRING *extoct;

crypto/x509v3/v3_prn.c:121:5: 
119.   {
120.       void *ext_str = NULL;
121. >     char *value = NULL;
122.       ASN1_OCTET_STRING *extoct;
123.       const unsigned char *p;

crypto/x509v3/v3_prn.c:126:5: 
124.       int extlen;
125.       const X509V3_EXT_METHOD *method;
126. >     STACK_OF(CONF_VALUE) *nval = NULL;
127.       int ok = 1;
128.   

crypto/x509v3/v3_prn.c:127:5: 
125.       const X509V3_EXT_METHOD *method;
126.       STACK_OF(CONF_VALUE) *nval = NULL;
127. >     int ok = 1;
128.   
129.       extoct = X509_EXTENSION_get_data(ext);

crypto/x509v3/v3_prn.c:129:5: 
127.       int ok = 1;
128.   
129. >     extoct = X509_EXTENSION_get_data(ext);
130.       p = ASN1_STRING_data(extoct);
131.       extlen = ASN1_STRING_length(extoct);

crypto/x509/x509_v3.c:268:1: start of procedure X509_EXTENSION_get_data()
  266.   }
  267.   
  268. > ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ex)
  269.   {
  270.       if (ex == NULL)

crypto/x509/x509_v3.c:270:9: Taking true branch
  268.   ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ex)
  269.   {
  270.       if (ex == NULL)
                 ^
  271.           return (NULL);
  272.       return &ex->value;

crypto/x509/x509_v3.c:271:9: 
  269.   {
  270.       if (ex == NULL)
  271. >         return (NULL);
  272.       return &ex->value;
  273.   }

crypto/x509/x509_v3.c:273:1: return from a call to X509_EXTENSION_get_data
  271.           return (NULL);
  272.       return &ex->value;
  273. > }
  274.   
  275.   int X509_EXTENSION_get_critical(X509_EXTENSION *ex)

crypto/x509v3/v3_prn.c:130:5: 
128.   
129.       extoct = X509_EXTENSION_get_data(ext);
130. >     p = ASN1_STRING_data(extoct);
131.       extlen = ASN1_STRING_length(extoct);
132.   

crypto/asn1/asn1_lib.c:410:1: start of procedure ASN1_STRING_data()
  408.   }
  409.   
  410. > unsigned char *ASN1_STRING_data(ASN1_STRING *x)
  411.   {
  412.       return x->data;

crypto/asn1/asn1_lib.c:412:5: 
  410.   unsigned char *ASN1_STRING_data(ASN1_STRING *x)
  411.   {
  412. >     return x->data;
  413.   }
