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


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

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

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

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

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

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

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

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

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

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

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

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.   
