Check memory allocation
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit 8cf9d71a3a)
			
			
This commit is contained in:
		 Alessandro Ghedini
					Alessandro Ghedini
				
			
				
					committed by
					
						 Richard Levitte
						Richard Levitte
					
				
			
			
				
	
			
			
			 Richard Levitte
						Richard Levitte
					
				
			
						parent
						
							edd0f5c201
						
					
				
				
					commit
					a5524e534b
				
			| @@ -228,12 +228,16 @@ int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, | ||||
|                          int md_nid, EVP_PBE_KEYGEN *keygen) | ||||
| { | ||||
|     EVP_PBE_CTL *pbe_tmp; | ||||
|     if (!pbe_algs) | ||||
|  | ||||
|     if (pbe_algs == NULL) { | ||||
|         pbe_algs = sk_EVP_PBE_CTL_new(pbe_cmp); | ||||
|     if (!(pbe_tmp = (EVP_PBE_CTL *)OPENSSL_malloc(sizeof(EVP_PBE_CTL)))) { | ||||
|         EVPerr(EVP_F_EVP_PBE_ALG_ADD_TYPE, ERR_R_MALLOC_FAILURE); | ||||
|         return 0; | ||||
|         if (pbe_algs == NULL) | ||||
|             goto err; | ||||
|     } | ||||
|  | ||||
|     if ((pbe_tmp = OPENSSL_malloc(sizeof(*pbe_tmp))) == NULL) | ||||
|         goto err; | ||||
|  | ||||
|     pbe_tmp->pbe_type = pbe_type; | ||||
|     pbe_tmp->pbe_nid = pbe_nid; | ||||
|     pbe_tmp->cipher_nid = cipher_nid; | ||||
| @@ -242,6 +246,10 @@ int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, | ||||
|  | ||||
|     sk_EVP_PBE_CTL_push(pbe_algs, pbe_tmp); | ||||
|     return 1; | ||||
|  | ||||
|  err: | ||||
|     EVPerr(EVP_F_EVP_PBE_ALG_ADD_TYPE, ERR_R_MALLOC_FAILURE); | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user