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


apps/srp.c:121:1: start of procedure print_user()
119.   }
120.   
121. > static void print_user(CA_DB *db, int userindex, int verbose)
122.   {
123.       if (verbose > 0) {

apps/srp.c:123:9: Taking true branch
121.   static void print_user(CA_DB *db, int userindex, int verbose)
122.   {
123.       if (verbose > 0) {
               ^
124.           char **pp = sk_OPENSSL_PSTRING_value(db->db->data, userindex);
125.   

apps/srp.c:124:21: Condition is true
122.   {
123.       if (verbose > 0) {
124.           char **pp = sk_OPENSSL_PSTRING_value(db->db->data, userindex);
                           ^
125.   
126.           if (pp[DB_srptype][0] != 'I') {

apps/srp.c:124:9: 
122.   {
123.       if (verbose > 0) {
124. >         char **pp = sk_OPENSSL_PSTRING_value(db->db->data, userindex);
125.   
126.           if (pp[DB_srptype][0] != 'I') {

crypto/stack/stack.c:328:1: start of procedure sk_value()
  326.   }
  327.   
  328. > void *sk_value(const _STACK *st, int i)
  329.   {
  330.       if (!st || (i < 0) || (i >= st->num))

crypto/stack/stack.c:330:10: Taking false branch
  328.   void *sk_value(const _STACK *st, int i)
  329.   {
  330.       if (!st || (i < 0) || (i >= st->num))
                  ^
  331.           return NULL;
  332.       return st->data[i];

crypto/stack/stack.c:330:17: Taking false branch
  328.   void *sk_value(const _STACK *st, int i)
  329.   {
  330.       if (!st || (i < 0) || (i >= st->num))
                         ^
  331.           return NULL;
  332.       return st->data[i];

crypto/stack/stack.c:330:28: Taking true branch
  328.   void *sk_value(const _STACK *st, int i)
  329.   {
  330.       if (!st || (i < 0) || (i >= st->num))
                                    ^
  331.           return NULL;
  332.       return st->data[i];

crypto/stack/stack.c:331:9: 
  329.   {
  330.       if (!st || (i < 0) || (i >= st->num))
  331. >         return NULL;
  332.       return st->data[i];
  333.   }

crypto/stack/stack.c:333:1: return from a call to sk_value
  331.           return NULL;
  332.       return st->data[i];
  333. > }
  334.   
  335.   void *sk_set(_STACK *st, int i, void *value)

apps/srp.c:126:13: 
124.           char **pp = sk_OPENSSL_PSTRING_value(db->db->data, userindex);
125.   
126. >         if (pp[DB_srptype][0] != 'I') {
127.               print_entry(db, userindex, verbose, "User entry");
128.               print_entry(db, get_index(db, pp[DB_srpgN], 'I'), verbose,
