crypto/dsa/dsa_vrf.c:89: error: MEMORY_LEAK
  memory dynamically allocated by call to `DSA_SIG_new()` at line 87, column 6 is not reachable after line 89, column 6.
Showing all 12 steps of the trace


crypto/dsa/dsa_vrf.c:81:1: start of procedure DSA_verify()
79.    *     -1: error
80.    */
81. > int DSA_verify(int type, const unsigned char *dgst, int dgst_len,
82.   	     unsigned char *sigbuf, int siglen, DSA *dsa)
83.   	{

crypto/dsa/dsa_vrf.c:85:2: 
83.   	{
84.   	DSA_SIG *s;
85. > 	int ret=-1;
86.   
87.   	s = DSA_SIG_new();

crypto/dsa/dsa_vrf.c:87:2: 
85.   	int ret=-1;
86.   
87. > 	s = DSA_SIG_new();
88.   	if (s == NULL) return(ret);
89.   	if (d2i_DSA_SIG(&s,&sigbuf,siglen) == NULL) goto err;

crypto/dsa/dsa_asn1.c:9:1: start of procedure DSA_SIG_new()
  7.   #include <openssl/asn1_mac.h>
  8.   
  9. > DSA_SIG *DSA_SIG_new(void)
  10.   {
  11.   	DSA_SIG *ret;

crypto/dsa/dsa_asn1.c:13:2: 
  11.   	DSA_SIG *ret;
  12.   
  13. > 	ret = Malloc(sizeof(DSA_SIG));
  14.   	if (ret == NULL)
  15.   		{

crypto/dsa/dsa_asn1.c:14:6: Taking false branch
  12.   
  13.   	ret = Malloc(sizeof(DSA_SIG));
  14.   	if (ret == NULL)
             ^
  15.   		{
  16.   		DSAerr(DSA_F_DSA_SIG_NEW,ERR_R_MALLOC_FAILURE);

crypto/dsa/dsa_asn1.c:19:2: 
  17.   		return(NULL);
  18.   		}
  19. > 	ret->r = NULL;
  20.   	ret->s = NULL;
  21.   	return(ret);

crypto/dsa/dsa_asn1.c:20:2: 
  18.   		}
  19.   	ret->r = NULL;
  20. > 	ret->s = NULL;
  21.   	return(ret);
  22.   }

crypto/dsa/dsa_asn1.c:21:2: 
  19.   	ret->r = NULL;
  20.   	ret->s = NULL;
  21. > 	return(ret);
  22.   }
  23.   

crypto/dsa/dsa_asn1.c:22:1: return from a call to DSA_SIG_new
  20.   	ret->s = NULL;
  21.   	return(ret);
  22. > }
  23.   
  24.   void DSA_SIG_free(DSA_SIG *r)

crypto/dsa/dsa_vrf.c:88:6: Taking false branch
86.   
87.   	s = DSA_SIG_new();
88.   	if (s == NULL) return(ret);
           ^
89.   	if (d2i_DSA_SIG(&s,&sigbuf,siglen) == NULL) goto err;
90.   	ret=DSA_do_verify(dgst,dgst_len,s,dsa);

crypto/dsa/dsa_vrf.c:89:6: Skipping d2i_DSA_SIG(): empty list of specs
87.   	s = DSA_SIG_new();
88.   	if (s == NULL) return(ret);
89.   	if (d2i_DSA_SIG(&s,&sigbuf,siglen) == NULL) goto err;
           ^
90.   	ret=DSA_do_verify(dgst,dgst_len,s,dsa);
91.   err:
