apps/srp.c:165: error: NULL_DEREFERENCE
  pointer `pp` last assigned on line 163 could be null and is dereferenced at line 165, column 13.
Showing all 11 steps of the trace


apps/srp.c:160:1: start of procedure print_user()
158.   }
159.   
160. > static void print_user(CA_DB *db, BIO *bio, int userindex, int verbose)
161.   {
162.       if (verbose > 0) {

apps/srp.c:162:9: Taking true branch
160.   static void print_user(CA_DB *db, BIO *bio, int userindex, int verbose)
161.   {
162.       if (verbose > 0) {
               ^
163.           char **pp = sk_OPENSSL_PSTRING_value(db->db->data, userindex);
164.   

apps/srp.c:163:21: Condition is true
161.   {
162.       if (verbose > 0) {
163.           char **pp = sk_OPENSSL_PSTRING_value(db->db->data, userindex);
                           ^
164.   
165.           if (pp[DB_srptype][0] != 'I') {

apps/srp.c:163:9: 
161.   {
162.       if (verbose > 0) {
163. >         char **pp = sk_OPENSSL_PSTRING_value(db->db->data, userindex);
164.   
165.           if (pp[DB_srptype][0] != 'I') {

crypto/stack/stack.c:338:1: start of procedure sk_value()
  336.   }
  337.   
  338. > void *sk_value(const _STACK *st, int i)
  339.   {
  340.   	if(!st || (i < 0) || (i >= st->num)) return NULL;

crypto/stack/stack.c:340:6: Taking false branch
  338.   void *sk_value(const _STACK *st, int i)
  339.   {
  340.   	if(!st || (i < 0) || (i >= st->num)) return NULL;
              ^
  341.   	return st->data[i];
  342.   }

crypto/stack/stack.c:340:13: Taking false branch
  338.   void *sk_value(const _STACK *st, int i)
  339.   {
  340.   	if(!st || (i < 0) || (i >= st->num)) return NULL;
                     ^
  341.   	return st->data[i];
  342.   }

crypto/stack/stack.c:340:24: Taking true branch
  338.   void *sk_value(const _STACK *st, int i)
  339.   {
  340.   	if(!st || (i < 0) || (i >= st->num)) return NULL;
                                ^
  341.   	return st->data[i];
  342.   }

crypto/stack/stack.c:340:39: 
  338.   void *sk_value(const _STACK *st, int i)
  339.   {
  340. > 	if(!st || (i < 0) || (i >= st->num)) return NULL;
  341.   	return st->data[i];
  342.   }

crypto/stack/stack.c:342:1: return from a call to sk_value
  340.   	if(!st || (i < 0) || (i >= st->num)) return NULL;
  341.   	return st->data[i];
  342. > }
  343.   
  344.   void *sk_set(_STACK *st, int i, void *value)

apps/srp.c:165:13: 
163.           char **pp = sk_OPENSSL_PSTRING_value(db->db->data, userindex);
164.   
165. >         if (pp[DB_srptype][0] != 'I') {
166.               print_entry(db, bio, userindex, verbose, "User entry");
167.               print_entry(db, bio, get_index(db, pp[DB_srpgN], 'I'), verbose,
