fir coverity finding: dsa_import double free
This commit is contained in:
		
							parent
							
								
									6499c70492
								
							
						
					
					
						commit
						1e260eeaae
					
				@ -103,10 +103,12 @@ int dsa_import(const unsigned char *in, unsigned long inlen, dsa_key *key)
 | 
				
			|||||||
        PKA_DSA, tmpbuf, &tmpbuf_len,
 | 
					        PKA_DSA, tmpbuf, &tmpbuf_len,
 | 
				
			||||||
        LTC_ASN1_SEQUENCE, params, 3);
 | 
					        LTC_ASN1_SEQUENCE, params, 3);
 | 
				
			||||||
      if (err != CRYPT_OK) {
 | 
					      if (err != CRYPT_OK) {
 | 
				
			||||||
 | 
					         XFREE(tmpbuf);
 | 
				
			||||||
         goto LBL_ERR;
 | 
					         goto LBL_ERR;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if ((err=der_decode_integer(tmpbuf, tmpbuf_len, key->y)) != CRYPT_OK) {
 | 
					      if ((err=der_decode_integer(tmpbuf, tmpbuf_len, key->y)) != CRYPT_OK) {
 | 
				
			||||||
 | 
					         XFREE(tmpbuf);
 | 
				
			||||||
         goto LBL_ERR;
 | 
					         goto LBL_ERR;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -125,7 +127,6 @@ LBL_OK:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  return CRYPT_OK;
 | 
					  return CRYPT_OK;
 | 
				
			||||||
LBL_ERR:
 | 
					LBL_ERR:
 | 
				
			||||||
   XFREE(tmpbuf);
 | 
					 | 
				
			||||||
   mp_clear_multi(key->p, key->g, key->q, key->x, key->y, NULL);
 | 
					   mp_clear_multi(key->p, key->g, key->q, key->x, key->y, NULL);
 | 
				
			||||||
   return err;
 | 
					   return err;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user