apps/ocsp.c:260: error: MEMORY_LEAK
  memory dynamically allocated to `return` by call to `sk_OCSP_CERTID_new_null()` at line 256, column 11 is not reachable after line 260, column 9.
Showing all 125 steps of the trace


apps/ocsp.c:218:1: start of procedure ocsp_main()
216.   };
217.   
218. > int ocsp_main(int argc, char **argv)
219.   {
220.       BIO *acbio = NULL, *cbio = NULL, *derbio = NULL, *out = NULL;

apps/ocsp.c:220:5: 
218.   int ocsp_main(int argc, char **argv)
219.   {
220. >     BIO *acbio = NULL, *cbio = NULL, *derbio = NULL, *out = NULL;
221.       const EVP_MD *cert_id_md = NULL, *rsign_md = NULL;
222.       CA_DB *rdb = NULL;

apps/ocsp.c:221:5: 
219.   {
220.       BIO *acbio = NULL, *cbio = NULL, *derbio = NULL, *out = NULL;
221. >     const EVP_MD *cert_id_md = NULL, *rsign_md = NULL;
222.       CA_DB *rdb = NULL;
223.       EVP_PKEY *key = NULL, *rkey = NULL;

apps/ocsp.c:222:5: 
220.       BIO *acbio = NULL, *cbio = NULL, *derbio = NULL, *out = NULL;
221.       const EVP_MD *cert_id_md = NULL, *rsign_md = NULL;
222. >     CA_DB *rdb = NULL;
223.       EVP_PKEY *key = NULL, *rkey = NULL;
224.       OCSP_BASICRESP *bs = NULL;

apps/ocsp.c:223:5: 
221.       const EVP_MD *cert_id_md = NULL, *rsign_md = NULL;
222.       CA_DB *rdb = NULL;
223. >     EVP_PKEY *key = NULL, *rkey = NULL;
224.       OCSP_BASICRESP *bs = NULL;
225.       OCSP_REQUEST *req = NULL;

apps/ocsp.c:224:5: 
222.       CA_DB *rdb = NULL;
223.       EVP_PKEY *key = NULL, *rkey = NULL;
224. >     OCSP_BASICRESP *bs = NULL;
225.       OCSP_REQUEST *req = NULL;
226.       OCSP_RESPONSE *resp = NULL;

apps/ocsp.c:225:5: 
223.       EVP_PKEY *key = NULL, *rkey = NULL;
224.       OCSP_BASICRESP *bs = NULL;
225. >     OCSP_REQUEST *req = NULL;
226.       OCSP_RESPONSE *resp = NULL;
227.       STACK_OF(CONF_VALUE) *headers = NULL;

apps/ocsp.c:226:5: 
224.       OCSP_BASICRESP *bs = NULL;
225.       OCSP_REQUEST *req = NULL;
226. >     OCSP_RESPONSE *resp = NULL;
227.       STACK_OF(CONF_VALUE) *headers = NULL;
228.       STACK_OF(OCSP_CERTID) *ids = NULL;

apps/ocsp.c:227:5: 
225.       OCSP_REQUEST *req = NULL;
226.       OCSP_RESPONSE *resp = NULL;
227. >     STACK_OF(CONF_VALUE) *headers = NULL;
228.       STACK_OF(OCSP_CERTID) *ids = NULL;
229.       STACK_OF(OPENSSL_STRING) *reqnames = NULL;

apps/ocsp.c:228:5: 
226.       OCSP_RESPONSE *resp = NULL;
227.       STACK_OF(CONF_VALUE) *headers = NULL;
228. >     STACK_OF(OCSP_CERTID) *ids = NULL;
229.       STACK_OF(OPENSSL_STRING) *reqnames = NULL;
230.       STACK_OF(X509) *sign_other = NULL, *verify_other = NULL, *rother = NULL;

apps/ocsp.c:229:5: 
227.       STACK_OF(CONF_VALUE) *headers = NULL;
228.       STACK_OF(OCSP_CERTID) *ids = NULL;
229. >     STACK_OF(OPENSSL_STRING) *reqnames = NULL;
230.       STACK_OF(X509) *sign_other = NULL, *verify_other = NULL, *rother = NULL;
231.       STACK_OF(X509) *issuers = NULL;

apps/ocsp.c:230:5: 
228.       STACK_OF(OCSP_CERTID) *ids = NULL;
229.       STACK_OF(OPENSSL_STRING) *reqnames = NULL;
230. >     STACK_OF(X509) *sign_other = NULL, *verify_other = NULL, *rother = NULL;
231.       STACK_OF(X509) *issuers = NULL;
232.       X509 *issuer = NULL, *cert = NULL, *rca_cert = NULL;

apps/ocsp.c:231:5: 
229.       STACK_OF(OPENSSL_STRING) *reqnames = NULL;
230.       STACK_OF(X509) *sign_other = NULL, *verify_other = NULL, *rother = NULL;
231. >     STACK_OF(X509) *issuers = NULL;
232.       X509 *issuer = NULL, *cert = NULL, *rca_cert = NULL;
233.       X509 *signer = NULL, *rsigner = NULL;

apps/ocsp.c:232:5: 
230.       STACK_OF(X509) *sign_other = NULL, *verify_other = NULL, *rother = NULL;
231.       STACK_OF(X509) *issuers = NULL;
232. >     X509 *issuer = NULL, *cert = NULL, *rca_cert = NULL;
233.       X509 *signer = NULL, *rsigner = NULL;
234.       X509_STORE *store = NULL;

apps/ocsp.c:233:5: 
231.       STACK_OF(X509) *issuers = NULL;
232.       X509 *issuer = NULL, *cert = NULL, *rca_cert = NULL;
233. >     X509 *signer = NULL, *rsigner = NULL;
234.       X509_STORE *store = NULL;
235.       X509_VERIFY_PARAM *vpm = NULL;

apps/ocsp.c:234:5: 
232.       X509 *issuer = NULL, *cert = NULL, *rca_cert = NULL;
233.       X509 *signer = NULL, *rsigner = NULL;
234. >     X509_STORE *store = NULL;
235.       X509_VERIFY_PARAM *vpm = NULL;
236.       char *CAfile = NULL, *CApath = NULL, *header, *value;

apps/ocsp.c:235:5: 
233.       X509 *signer = NULL, *rsigner = NULL;
234.       X509_STORE *store = NULL;
235. >     X509_VERIFY_PARAM *vpm = NULL;
236.       char *CAfile = NULL, *CApath = NULL, *header, *value;
237.       char *host = NULL, *port = NULL, *path = "/", *outfile = NULL;

apps/ocsp.c:236:5: 
234.       X509_STORE *store = NULL;
235.       X509_VERIFY_PARAM *vpm = NULL;
236. >     char *CAfile = NULL, *CApath = NULL, *header, *value;
237.       char *host = NULL, *port = NULL, *path = "/", *outfile = NULL;
238.       char *rca_filename = NULL, *reqin = NULL, *respin = NULL;

apps/ocsp.c:237:5: 
235.       X509_VERIFY_PARAM *vpm = NULL;
236.       char *CAfile = NULL, *CApath = NULL, *header, *value;
237. >     char *host = NULL, *port = NULL, *path = "/", *outfile = NULL;
238.       char *rca_filename = NULL, *reqin = NULL, *respin = NULL;
239.       char *reqout = NULL, *respout = NULL, *ridx_filename = NULL;

apps/ocsp.c:238:5: 
236.       char *CAfile = NULL, *CApath = NULL, *header, *value;
237.       char *host = NULL, *port = NULL, *path = "/", *outfile = NULL;
238. >     char *rca_filename = NULL, *reqin = NULL, *respin = NULL;
239.       char *reqout = NULL, *respout = NULL, *ridx_filename = NULL;
240.       char *rsignfile = NULL, *rkeyfile = NULL;

apps/ocsp.c:239:5: 
237.       char *host = NULL, *port = NULL, *path = "/", *outfile = NULL;
238.       char *rca_filename = NULL, *reqin = NULL, *respin = NULL;
239. >     char *reqout = NULL, *respout = NULL, *ridx_filename = NULL;
240.       char *rsignfile = NULL, *rkeyfile = NULL;
241.       char *sign_certfile = NULL, *verify_certfile = NULL, *rcertfile = NULL;

apps/ocsp.c:240:5: 
238.       char *rca_filename = NULL, *reqin = NULL, *respin = NULL;
239.       char *reqout = NULL, *respout = NULL, *ridx_filename = NULL;
240. >     char *rsignfile = NULL, *rkeyfile = NULL;
241.       char *sign_certfile = NULL, *verify_certfile = NULL, *rcertfile = NULL;
242.       char *signfile = NULL, *keyfile = NULL;

apps/ocsp.c:241:5: 
239.       char *reqout = NULL, *respout = NULL, *ridx_filename = NULL;
240.       char *rsignfile = NULL, *rkeyfile = NULL;
241. >     char *sign_certfile = NULL, *verify_certfile = NULL, *rcertfile = NULL;
242.       char *signfile = NULL, *keyfile = NULL;
243.       char *thost = NULL, *tport = NULL, *tpath = NULL;

apps/ocsp.c:242:5: 
240.       char *rsignfile = NULL, *rkeyfile = NULL;
241.       char *sign_certfile = NULL, *verify_certfile = NULL, *rcertfile = NULL;
242. >     char *signfile = NULL, *keyfile = NULL;
243.       char *thost = NULL, *tport = NULL, *tpath = NULL;
244.       int noCAfile = 0, noCApath = 0;

apps/ocsp.c:243:5: 
241.       char *sign_certfile = NULL, *verify_certfile = NULL, *rcertfile = NULL;
242.       char *signfile = NULL, *keyfile = NULL;
243. >     char *thost = NULL, *tport = NULL, *tpath = NULL;
244.       int noCAfile = 0, noCApath = 0;
245.       int accept_count = -1, add_nonce = 1, noverify = 0, use_ssl = -1;

apps/ocsp.c:244:5: 
242.       char *signfile = NULL, *keyfile = NULL;
243.       char *thost = NULL, *tport = NULL, *tpath = NULL;
244. >     int noCAfile = 0, noCApath = 0;
245.       int accept_count = -1, add_nonce = 1, noverify = 0, use_ssl = -1;
246.       int vpmtouched = 0, badsig = 0, i, ignore_err = 0, nmin = 0, ndays = -1;

apps/ocsp.c:245:5: 
243.       char *thost = NULL, *tport = NULL, *tpath = NULL;
244.       int noCAfile = 0, noCApath = 0;
245. >     int accept_count = -1, add_nonce = 1, noverify = 0, use_ssl = -1;
246.       int vpmtouched = 0, badsig = 0, i, ignore_err = 0, nmin = 0, ndays = -1;
247.       int req_text = 0, resp_text = 0, req_timeout = -1, ret = 1;

apps/ocsp.c:246:5: 
244.       int noCAfile = 0, noCApath = 0;
245.       int accept_count = -1, add_nonce = 1, noverify = 0, use_ssl = -1;
246. >     int vpmtouched = 0, badsig = 0, i, ignore_err = 0, nmin = 0, ndays = -1;
247.       int req_text = 0, resp_text = 0, req_timeout = -1, ret = 1;
248.       long nsec = MAX_VALIDITY_PERIOD, maxage = -1;

apps/ocsp.c:247:5: 
245.       int accept_count = -1, add_nonce = 1, noverify = 0, use_ssl = -1;
246.       int vpmtouched = 0, badsig = 0, i, ignore_err = 0, nmin = 0, ndays = -1;
247. >     int req_text = 0, resp_text = 0, req_timeout = -1, ret = 1;
248.       long nsec = MAX_VALIDITY_PERIOD, maxage = -1;
249.       unsigned long sign_flags = 0, verify_flags = 0, rflags = 0;

apps/ocsp.c:248:5: 
246.       int vpmtouched = 0, badsig = 0, i, ignore_err = 0, nmin = 0, ndays = -1;
247.       int req_text = 0, resp_text = 0, req_timeout = -1, ret = 1;
248. >     long nsec = MAX_VALIDITY_PERIOD, maxage = -1;
249.       unsigned long sign_flags = 0, verify_flags = 0, rflags = 0;
250.       OPTION_CHOICE o;

apps/ocsp.c:249:5: 
247.       int req_text = 0, resp_text = 0, req_timeout = -1, ret = 1;
248.       long nsec = MAX_VALIDITY_PERIOD, maxage = -1;
249. >     unsigned long sign_flags = 0, verify_flags = 0, rflags = 0;
250.       OPTION_CHOICE o;
251.       char *prog;

apps/ocsp.c:253:5: 
251.       char *prog;
252.   
253. >     reqnames = sk_OPENSSL_STRING_new_null();
254.       if (!reqnames)
255.           goto end;

include/openssl/safestack.h:214:1: start of procedure sk_OPENSSL_STRING_new_null()
  212.    * dealt with in the autogenerated macros below.
  213.    */
  214. > DEFINE_SPECIAL_STACK_OF(OPENSSL_STRING, char)
  215.   
  216.   /*

crypto/stack/stack.c:145:1: start of procedure sk_new_null()
    143.   }
    144.   
    145. > _STACK *sk_new_null(void)
    146.   {
    147.       return sk_new((int (*)(const void *, const void *))0);

crypto/stack/stack.c:147:5: 
    145.   _STACK *sk_new_null(void)
    146.   {
    147. >     return sk_new((int (*)(const void *, const void *))0);
    148.   }
    149.   

crypto/stack/stack.c:150:1: start of procedure sk_new()
      148.   }
      149.   
      150. > _STACK *sk_new(int (*c) (const void *, const void *))
      151.   {
      152.       _STACK *ret;

crypto/stack/stack.c:154:9: 
      152.       _STACK *ret;
      153.   
      154. >     if ((ret = OPENSSL_zalloc(sizeof(_STACK))) == NULL)
      155.           goto err;
      156.       if ((ret->data = OPENSSL_zalloc(sizeof(*ret->data) * MIN_NODES)) == NULL)

crypto/mem.c:157:1: start of procedure CRYPTO_zalloc()
        155.   }
        156.   
        157. > void *CRYPTO_zalloc(size_t num, const char *file, int line)
        158.   {
        159.       void *ret = CRYPTO_malloc(num, file, line);

crypto/mem.c:159:5: 
        157.   void *CRYPTO_zalloc(size_t num, const char *file, int line)
        158.   {
        159. >     void *ret = CRYPTO_malloc(num, file, line);
        160.   
        161.       if (ret != NULL)

crypto/mem.c:120:1: start of procedure CRYPTO_malloc()
          118.   }
          119.   
          120. > void *CRYPTO_malloc(size_t num, const char *file, int line)
          121.   {
          122.       void *ret = NULL;

crypto/mem.c:122:5: 
          120.   void *CRYPTO_malloc(size_t num, const char *file, int line)
          121.   {
          122. >     void *ret = NULL;
          123.   
          124.       if (num <= 0)

crypto/mem.c:124:9: Taking false branch
          122.       void *ret = NULL;
          123.   
          124.       if (num <= 0)
                         ^
          125.           return NULL;
          126.   

crypto/mem.c:127:5: 
          125.           return NULL;
          126.   
          127. >     allow_customize = 0;
          128.   #ifdef CRYPTO_MDEBUG
          129.       if (call_malloc_debug) {

crypto/mem.c:137:5: 
          135.       }
          136.   #else
          137. >     (void)file;
          138.       (void)line;
          139.       ret = malloc(num);

crypto/mem.c:138:5: 
          136.   #else
          137.       (void)file;
          138. >     (void)line;
          139.       ret = malloc(num);
          140.   #endif

crypto/mem.c:139:5: 
          137.       (void)file;
          138.       (void)line;
          139. >     ret = malloc(num);
          140.   #endif
          141.   

crypto/mem.c:154:5: 
          152.   #endif
          153.   
          154. >     return ret;
          155.   }
          156.   

crypto/mem.c:155:1: return from a call to CRYPTO_malloc
          153.   
          154.       return ret;
          155. > }
          156.   
          157.   void *CRYPTO_zalloc(size_t num, const char *file, int line)

crypto/mem.c:161:9: Taking true branch
        159.       void *ret = CRYPTO_malloc(num, file, line);
        160.   
        161.       if (ret != NULL)
                       ^
        162.           memset(ret, 0, num);
        163.       return ret;

crypto/mem.c:162:9: 
        160.   
        161.       if (ret != NULL)
        162. >         memset(ret, 0, num);
        163.       return ret;
        164.   }

crypto/mem.c:163:5: 
        161.       if (ret != NULL)
        162.           memset(ret, 0, num);
        163. >     return ret;
        164.   }
        165.   

crypto/mem.c:164:1: return from a call to CRYPTO_zalloc
        162.           memset(ret, 0, num);
        163.       return ret;
        164. > }
        165.   
        166.   void *CRYPTO_realloc(void *str, size_t num, const char *file, int line)

crypto/stack/stack.c:154:9: Taking false branch
      152.       _STACK *ret;
      153.   
      154.       if ((ret = OPENSSL_zalloc(sizeof(_STACK))) == NULL)
                     ^
      155.           goto err;
      156.       if ((ret->data = OPENSSL_zalloc(sizeof(*ret->data) * MIN_NODES)) == NULL)

crypto/stack/stack.c:156:9: 
      154.       if ((ret = OPENSSL_zalloc(sizeof(_STACK))) == NULL)
      155.           goto err;
      156. >     if ((ret->data = OPENSSL_zalloc(sizeof(*ret->data) * MIN_NODES)) == NULL)
      157.           goto err;
      158.       ret->comp = c;

crypto/mem.c:157:1: start of procedure CRYPTO_zalloc()
        155.   }
        156.   
        157. > void *CRYPTO_zalloc(size_t num, const char *file, int line)
        158.   {
        159.       void *ret = CRYPTO_malloc(num, file, line);

crypto/mem.c:159:5: 
        157.   void *CRYPTO_zalloc(size_t num, const char *file, int line)
        158.   {
        159. >     void *ret = CRYPTO_malloc(num, file, line);
        160.   
        161.       if (ret != NULL)

crypto/mem.c:120:1: start of procedure CRYPTO_malloc()
          118.   }
          119.   
          120. > void *CRYPTO_malloc(size_t num, const char *file, int line)
          121.   {
          122.       void *ret = NULL;

crypto/mem.c:122:5: 
          120.   void *CRYPTO_malloc(size_t num, const char *file, int line)
          121.   {
          122. >     void *ret = NULL;
          123.   
          124.       if (num <= 0)

crypto/mem.c:124:9: Taking false branch
          122.       void *ret = NULL;
          123.   
          124.       if (num <= 0)
                         ^
          125.           return NULL;
          126.   

crypto/mem.c:127:5: 
          125.           return NULL;
          126.   
          127. >     allow_customize = 0;
          128.   #ifdef CRYPTO_MDEBUG
          129.       if (call_malloc_debug) {

crypto/mem.c:137:5: 
          135.       }
          136.   #else
          137. >     (void)file;
          138.       (void)line;
          139.       ret = malloc(num);

crypto/mem.c:138:5: 
          136.   #else
          137.       (void)file;
          138. >     (void)line;
          139.       ret = malloc(num);
          140.   #endif

crypto/mem.c:139:5: 
          137.       (void)file;
          138.       (void)line;
          139. >     ret = malloc(num);
          140.   #endif
          141.   

crypto/mem.c:154:5: 
          152.   #endif
          153.   
          154. >     return ret;
          155.   }
          156.   

crypto/mem.c:155:1: return from a call to CRYPTO_malloc
          153.   
          154.       return ret;
          155. > }
          156.   
          157.   void *CRYPTO_zalloc(size_t num, const char *file, int line)

crypto/mem.c:161:9: Taking true branch
        159.       void *ret = CRYPTO_malloc(num, file, line);
        160.   
        161.       if (ret != NULL)
                       ^
        162.           memset(ret, 0, num);
        163.       return ret;

crypto/mem.c:162:9: 
        160.   
        161.       if (ret != NULL)
        162. >         memset(ret, 0, num);
        163.       return ret;
        164.   }

crypto/mem.c:163:5: 
        161.       if (ret != NULL)
        162.           memset(ret, 0, num);
        163. >     return ret;
        164.   }
        165.   

crypto/mem.c:164:1: return from a call to CRYPTO_zalloc
        162.           memset(ret, 0, num);
        163.       return ret;
        164. > }
        165.   
        166.   void *CRYPTO_realloc(void *str, size_t num, const char *file, int line)

crypto/stack/stack.c:156:9: Taking false branch
      154.       if ((ret = OPENSSL_zalloc(sizeof(_STACK))) == NULL)
      155.           goto err;
      156.       if ((ret->data = OPENSSL_zalloc(sizeof(*ret->data) * MIN_NODES)) == NULL)
                     ^
      157.           goto err;
      158.       ret->comp = c;

crypto/stack/stack.c:158:5: 
      156.       if ((ret->data = OPENSSL_zalloc(sizeof(*ret->data) * MIN_NODES)) == NULL)
      157.           goto err;
      158. >     ret->comp = c;
      159.       ret->num_alloc = MIN_NODES;
      160.       return (ret);

crypto/stack/stack.c:159:5: 
      157.           goto err;
      158.       ret->comp = c;
      159. >     ret->num_alloc = MIN_NODES;
      160.       return (ret);
      161.   

crypto/stack/stack.c:160:5: 
      158.       ret->comp = c;
      159.       ret->num_alloc = MIN_NODES;
      160. >     return (ret);
      161.   
      162.    err:

crypto/stack/stack.c:165:1: return from a call to sk_new
      163.       OPENSSL_free(ret);
      164.       return (NULL);
      165. > }
      166.   
      167.   int sk_insert(_STACK *st, void *data, int loc)

crypto/stack/stack.c:148:1: return from a call to sk_new_null
    146.   {
    147.       return sk_new((int (*)(const void *, const void *))0);
    148. > }
    149.   
    150.   _STACK *sk_new(int (*c) (const void *, const void *))

include/openssl/safestack.h:214:1: return from a call to sk_OPENSSL_STRING_new_null
  212.    * dealt with in the autogenerated macros below.
  213.    */
  214. > DEFINE_SPECIAL_STACK_OF(OPENSSL_STRING, char)
  215.   
  216.   /*

apps/ocsp.c:254:10: Taking false branch
252.   
253.       reqnames = sk_OPENSSL_STRING_new_null();
254.       if (!reqnames)
                ^
255.           goto end;
256.       ids = sk_OCSP_CERTID_new_null();

apps/ocsp.c:256:5: 
254.       if (!reqnames)
255.           goto end;
256. >     ids = sk_OCSP_CERTID_new_null();
257.       if (!ids)
258.           goto end;

include/openssl/ocsp.h:98:1: start of procedure sk_OCSP_CERTID_new_null()
  96.   typedef struct ocsp_cert_id_st OCSP_CERTID;
  97.   
  98. > DEFINE_STACK_OF(OCSP_CERTID)
  99.   
  100.   typedef struct ocsp_one_request_st OCSP_ONEREQ;

crypto/stack/stack.c:145:1: start of procedure sk_new_null()
    143.   }
    144.   
    145. > _STACK *sk_new_null(void)
    146.   {
    147.       return sk_new((int (*)(const void *, const void *))0);

crypto/stack/stack.c:147:5: 
    145.   _STACK *sk_new_null(void)
    146.   {
    147. >     return sk_new((int (*)(const void *, const void *))0);
    148.   }
    149.   

crypto/stack/stack.c:150:1: start of procedure sk_new()
      148.   }
      149.   
      150. > _STACK *sk_new(int (*c) (const void *, const void *))
      151.   {
      152.       _STACK *ret;

crypto/stack/stack.c:154:9: 
      152.       _STACK *ret;
      153.   
      154. >     if ((ret = OPENSSL_zalloc(sizeof(_STACK))) == NULL)
      155.           goto err;
      156.       if ((ret->data = OPENSSL_zalloc(sizeof(*ret->data) * MIN_NODES)) == NULL)

crypto/mem.c:157:1: start of procedure CRYPTO_zalloc()
        155.   }
        156.   
        157. > void *CRYPTO_zalloc(size_t num, const char *file, int line)
        158.   {
        159.       void *ret = CRYPTO_malloc(num, file, line);

crypto/mem.c:159:5: 
        157.   void *CRYPTO_zalloc(size_t num, const char *file, int line)
        158.   {
        159. >     void *ret = CRYPTO_malloc(num, file, line);
        160.   
        161.       if (ret != NULL)

crypto/mem.c:120:1: start of procedure CRYPTO_malloc()
          118.   }
          119.   
          120. > void *CRYPTO_malloc(size_t num, const char *file, int line)
          121.   {
          122.       void *ret = NULL;

crypto/mem.c:122:5: 
          120.   void *CRYPTO_malloc(size_t num, const char *file, int line)
          121.   {
          122. >     void *ret = NULL;
          123.   
          124.       if (num <= 0)

crypto/mem.c:124:9: Taking false branch
          122.       void *ret = NULL;
          123.   
          124.       if (num <= 0)
                         ^
          125.           return NULL;
          126.   

crypto/mem.c:127:5: 
          125.           return NULL;
          126.   
          127. >     allow_customize = 0;
          128.   #ifdef CRYPTO_MDEBUG
          129.       if (call_malloc_debug) {

crypto/mem.c:137:5: 
          135.       }
          136.   #else
          137. >     (void)file;
          138.       (void)line;
          139.       ret = malloc(num);

crypto/mem.c:138:5: 
          136.   #else
          137.       (void)file;
          138. >     (void)line;
          139.       ret = malloc(num);
          140.   #endif

crypto/mem.c:139:5: 
          137.       (void)file;
          138.       (void)line;
          139. >     ret = malloc(num);
          140.   #endif
          141.   

crypto/mem.c:154:5: 
          152.   #endif
          153.   
          154. >     return ret;
          155.   }
          156.   

crypto/mem.c:155:1: return from a call to CRYPTO_malloc
          153.   
          154.       return ret;
          155. > }
          156.   
          157.   void *CRYPTO_zalloc(size_t num, const char *file, int line)

crypto/mem.c:161:9: Taking true branch
        159.       void *ret = CRYPTO_malloc(num, file, line);
        160.   
        161.       if (ret != NULL)
                       ^
        162.           memset(ret, 0, num);
        163.       return ret;

crypto/mem.c:162:9: 
        160.   
        161.       if (ret != NULL)
        162. >         memset(ret, 0, num);
        163.       return ret;
        164.   }

crypto/mem.c:163:5: 
        161.       if (ret != NULL)
        162.           memset(ret, 0, num);
        163. >     return ret;
        164.   }
        165.   

crypto/mem.c:164:1: return from a call to CRYPTO_zalloc
        162.           memset(ret, 0, num);
        163.       return ret;
        164. > }
        165.   
        166.   void *CRYPTO_realloc(void *str, size_t num, const char *file, int line)

crypto/stack/stack.c:154:9: Taking false branch
      152.       _STACK *ret;
      153.   
      154.       if ((ret = OPENSSL_zalloc(sizeof(_STACK))) == NULL)
                     ^
      155.           goto err;
      156.       if ((ret->data = OPENSSL_zalloc(sizeof(*ret->data) * MIN_NODES)) == NULL)

crypto/stack/stack.c:156:9: 
      154.       if ((ret = OPENSSL_zalloc(sizeof(_STACK))) == NULL)
      155.           goto err;
      156. >     if ((ret->data = OPENSSL_zalloc(sizeof(*ret->data) * MIN_NODES)) == NULL)
      157.           goto err;
      158.       ret->comp = c;

crypto/mem.c:157:1: start of procedure CRYPTO_zalloc()
        155.   }
        156.   
        157. > void *CRYPTO_zalloc(size_t num, const char *file, int line)
        158.   {
        159.       void *ret = CRYPTO_malloc(num, file, line);

crypto/mem.c:159:5: 
        157.   void *CRYPTO_zalloc(size_t num, const char *file, int line)
        158.   {
        159. >     void *ret = CRYPTO_malloc(num, file, line);
        160.   
        161.       if (ret != NULL)

crypto/mem.c:120:1: start of procedure CRYPTO_malloc()
          118.   }
          119.   
          120. > void *CRYPTO_malloc(size_t num, const char *file, int line)
          121.   {
          122.       void *ret = NULL;

crypto/mem.c:122:5: 
          120.   void *CRYPTO_malloc(size_t num, const char *file, int line)
          121.   {
          122. >     void *ret = NULL;
          123.   
          124.       if (num <= 0)

crypto/mem.c:124:9: Taking false branch
          122.       void *ret = NULL;
          123.   
          124.       if (num <= 0)
                         ^
          125.           return NULL;
          126.   

crypto/mem.c:127:5: 
          125.           return NULL;
          126.   
          127. >     allow_customize = 0;
          128.   #ifdef CRYPTO_MDEBUG
          129.       if (call_malloc_debug) {

crypto/mem.c:137:5: 
          135.       }
          136.   #else
          137. >     (void)file;
          138.       (void)line;
          139.       ret = malloc(num);

crypto/mem.c:138:5: 
          136.   #else
          137.       (void)file;
          138. >     (void)line;
          139.       ret = malloc(num);
          140.   #endif

crypto/mem.c:139:5: 
          137.       (void)file;
          138.       (void)line;
          139. >     ret = malloc(num);
          140.   #endif
          141.   

crypto/mem.c:154:5: 
          152.   #endif
          153.   
          154. >     return ret;
          155.   }
          156.   

crypto/mem.c:155:1: return from a call to CRYPTO_malloc
          153.   
          154.       return ret;
          155. > }
          156.   
          157.   void *CRYPTO_zalloc(size_t num, const char *file, int line)

crypto/mem.c:161:9: Taking true branch
        159.       void *ret = CRYPTO_malloc(num, file, line);
        160.   
        161.       if (ret != NULL)
                       ^
        162.           memset(ret, 0, num);
        163.       return ret;

crypto/mem.c:162:9: 
        160.   
        161.       if (ret != NULL)
        162. >         memset(ret, 0, num);
        163.       return ret;
        164.   }

crypto/mem.c:163:5: 
        161.       if (ret != NULL)
        162.           memset(ret, 0, num);
        163. >     return ret;
        164.   }
        165.   

crypto/mem.c:164:1: return from a call to CRYPTO_zalloc
        162.           memset(ret, 0, num);
        163.       return ret;
        164. > }
        165.   
        166.   void *CRYPTO_realloc(void *str, size_t num, const char *file, int line)

crypto/stack/stack.c:156:9: Taking false branch
      154.       if ((ret = OPENSSL_zalloc(sizeof(_STACK))) == NULL)
      155.           goto err;
      156.       if ((ret->data = OPENSSL_zalloc(sizeof(*ret->data) * MIN_NODES)) == NULL)
                     ^
      157.           goto err;
      158.       ret->comp = c;

crypto/stack/stack.c:158:5: 
      156.       if ((ret->data = OPENSSL_zalloc(sizeof(*ret->data) * MIN_NODES)) == NULL)
      157.           goto err;
      158. >     ret->comp = c;
      159.       ret->num_alloc = MIN_NODES;
      160.       return (ret);

crypto/stack/stack.c:159:5: 
      157.           goto err;
      158.       ret->comp = c;
      159. >     ret->num_alloc = MIN_NODES;
      160.       return (ret);
      161.   

crypto/stack/stack.c:160:5: 
      158.       ret->comp = c;
      159.       ret->num_alloc = MIN_NODES;
      160. >     return (ret);
      161.   
      162.    err:

crypto/stack/stack.c:165:1: return from a call to sk_new
      163.       OPENSSL_free(ret);
      164.       return (NULL);
      165. > }
      166.   
      167.   int sk_insert(_STACK *st, void *data, int loc)

crypto/stack/stack.c:148:1: return from a call to sk_new_null
    146.   {
    147.       return sk_new((int (*)(const void *, const void *))0);
    148. > }
    149.   
    150.   _STACK *sk_new(int (*c) (const void *, const void *))

include/openssl/ocsp.h:98:1: return from a call to sk_OCSP_CERTID_new_null
  96.   typedef struct ocsp_cert_id_st OCSP_CERTID;
  97.   
  98. > DEFINE_STACK_OF(OCSP_CERTID)
  99.   
  100.   typedef struct ocsp_one_request_st OCSP_ONEREQ;

apps/ocsp.c:257:10: Taking false branch
255.           goto end;
256.       ids = sk_OCSP_CERTID_new_null();
257.       if (!ids)
                ^
258.           goto end;
259.       if ((vpm = X509_VERIFY_PARAM_new()) == NULL)

apps/ocsp.c:259:9: Taking true branch
257.       if (!ids)
258.           goto end;
259.       if ((vpm = X509_VERIFY_PARAM_new()) == NULL)
               ^
260.           return 1;
261.   

apps/ocsp.c:260:9: 
258.           goto end;
259.       if ((vpm = X509_VERIFY_PARAM_new()) == NULL)
260. >         return 1;
261.   
262.       prog = opt_init(argc, argv, ocsp_options);
