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


crypto/x509v3/v3_prn.c:70:1: start of procedure X509V3_EXT_print()
68.   /* Main routine: print out a general extension */
69.   
70. > int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag,
71.                        int indent)
72.   {

crypto/x509v3/v3_prn.c:73:5: 
71.                        int indent)
72.   {
73. >     void *ext_str = NULL;
74.       char *value = NULL;
75.       ASN1_OCTET_STRING *extoct;

crypto/x509v3/v3_prn.c:74:5: 
72.   {
73.       void *ext_str = NULL;
74. >     char *value = NULL;
75.       ASN1_OCTET_STRING *extoct;
76.       const unsigned char *p;

crypto/x509v3/v3_prn.c:79:5: 
77.       int extlen;
78.       const X509V3_EXT_METHOD *method;
79. >     STACK_OF(CONF_VALUE) *nval = NULL;
80.       int ok = 1;
81.   

crypto/x509v3/v3_prn.c:80:5: 
78.       const X509V3_EXT_METHOD *method;
79.       STACK_OF(CONF_VALUE) *nval = NULL;
80. >     int ok = 1;
81.   
82.       extoct = X509_EXTENSION_get_data(ext);

crypto/x509v3/v3_prn.c:82:5: 
80.       int ok = 1;
81.   
82. >     extoct = X509_EXTENSION_get_data(ext);
83.       p = ASN1_STRING_get0_data(extoct);
84.       extlen = ASN1_STRING_length(extoct);

crypto/x509/x509_v3.c:221:1: start of procedure X509_EXTENSION_get_data()
  219.   }
  220.   
  221. > ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ex)
  222.   {
  223.       if (ex == NULL)

crypto/x509/x509_v3.c:223:9: Taking true branch
  221.   ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ex)
  222.   {
  223.       if (ex == NULL)
                 ^
  224.           return NULL;
  225.       return &ex->value;

crypto/x509/x509_v3.c:224:9: 
  222.   {
  223.       if (ex == NULL)
  224. >         return NULL;
  225.       return &ex->value;
  226.   }

crypto/x509/x509_v3.c:226:1: return from a call to X509_EXTENSION_get_data
  224.           return NULL;
  225.       return &ex->value;
  226. > }
  227.   
  228.   int X509_EXTENSION_get_critical(const X509_EXTENSION *ex)

crypto/x509v3/v3_prn.c:83:5: 
81.   
82.       extoct = X509_EXTENSION_get_data(ext);
83. >     p = ASN1_STRING_get0_data(extoct);
84.       extlen = ASN1_STRING_length(extoct);
85.   

crypto/asn1/asn1_lib.c:381:1: start of procedure ASN1_STRING_get0_data()
  379.   }
  380.   
  381. > const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x)
  382.   {
  383.       return x->data;

crypto/asn1/asn1_lib.c:383:5: 
  381.   const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x)
  382.   {
  383. >     return x->data;
  384.   }
  385.   
