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


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

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

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

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

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

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

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

ssl/t1_enc.c:354:2: 
352.   	num*=2;
353.   
354. > 	ssl3_cleanup_key_block(s);
355.   
356.   	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:356:6: Taking false branch
354.   	ssl3_cleanup_key_block(s);
355.   
356.   	if ((p1=(unsigned char *)Malloc(num)) == NULL)
            ^
357.   		goto err;
358.   	if ((p2=(unsigned char *)Malloc(num)) == NULL)

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