ssl/t1_enc.c:357: error: MEMORY_LEAK
  memory dynamically allocated by call to `malloc()` at line 355, column 27 is not reachable after line 357, column 6.
Showing all 14 steps of the trace


ssl/t1_enc.c:330:1: start of procedure tls1_setup_key_block()
328.   	}
329.   
330. > int tls1_setup_key_block(SSL *s)
331.   	{
332.   	unsigned char *p1,*p2;

ssl/t1_enc.c:338:6: Taking false branch
336.   	SSL_COMP *comp;
337.   
338.   	if (s->s3->tmp.key_block_length != 0)
            ^
339.   		return(1);
340.   

ssl/t1_enc.c:341:7: Taking false branch
339.   		return(1);
340.   
341.   	if (!ssl_cipher_get_evp(s->session,&c,&hash,&comp))
             ^
342.   		{
343.   		SSLerr(SSL_F_TLS1_SETUP_KEY_BLOCK,SSL_R_CIPHER_OR_HASH_UNAVAILABLE);

ssl/t1_enc.c:347:2: 
345.   		}
346.   
347. > 	s->s3->tmp.new_sym_enc=c;
348.   	s->s3->tmp.new_hash=hash;
349.   

ssl/t1_enc.c:348:2: 
346.   
347.   	s->s3->tmp.new_sym_enc=c;
348. > 	s->s3->tmp.new_hash=hash;
349.   
350.   	num=EVP_CIPHER_key_length(c)+EVP_MD_size(hash)+EVP_CIPHER_iv_length(c);

ssl/t1_enc.c:350:2: 
348.   	s->s3->tmp.new_hash=hash;
349.   
350. > 	num=EVP_CIPHER_key_length(c)+EVP_MD_size(hash)+EVP_CIPHER_iv_length(c);
351.   	num*=2;
352.   

ssl/t1_enc.c:351:2: 
349.   
350.   	num=EVP_CIPHER_key_length(c)+EVP_MD_size(hash)+EVP_CIPHER_iv_length(c);
351. > 	num*=2;
352.   
353.   	ssl3_cleanup_key_block(s);

ssl/t1_enc.c:353:2: 
351.   	num*=2;
352.   
353. > 	ssl3_cleanup_key_block(s);
354.   
355.   	if ((p1=(unsigned char *)Malloc(num)) == NULL)

ssl/s3_enc.c:316:1: start of procedure ssl3_cleanup_key_block()
  314.   	}
  315.   
  316. > void ssl3_cleanup_key_block(SSL *s)
  317.   	{
  318.   	if (s->s3->tmp.key_block != NULL)

ssl/s3_enc.c:318:6: Taking false branch
  316.   void ssl3_cleanup_key_block(SSL *s)
  317.   	{
  318.   	if (s->s3->tmp.key_block != NULL)
              ^
  319.   		{
  320.   		memset(s->s3->tmp.key_block,0,

ssl/s3_enc.c:325:2: 
  323.   		s->s3->tmp.key_block=NULL;
  324.   		}
  325. > 	s->s3->tmp.key_block_length=0;
  326.   	}
  327.   

ssl/s3_enc.c:326:2: return from a call to ssl3_cleanup_key_block
  324.   		}
  325.   	s->s3->tmp.key_block_length=0;
  326.   	}
          ^
  327.   
  328.   int ssl3_enc(SSL *s, int send)

ssl/t1_enc.c:355:6: Taking false branch
353.   	ssl3_cleanup_key_block(s);
354.   
355.   	if ((p1=(unsigned char *)Malloc(num)) == NULL)
            ^
356.   		goto err;
357.   	if ((p2=(unsigned char *)Malloc(num)) == NULL)

ssl/t1_enc.c:357:6: Taking true branch
355.   	if ((p1=(unsigned char *)Malloc(num)) == NULL)
356.   		goto err;
357.   	if ((p2=(unsigned char *)Malloc(num)) == NULL)
            ^
358.   		goto err;
359.   
