check that we don't pass negative numbers of memset [CID-169]
This commit is contained in:
		| @@ -1402,6 +1402,7 @@ pk_rd_pa_reply_dh(krb5_context context, | ||||
| 				       kdc_dh_pubkey, ctx->u.dh); | ||||
| 	if (dh_gen_keylen == -1) { | ||||
| 	    ret = KRB5KRB_ERR_GENERIC; | ||||
| 	    dh_gen_keylen = 0; | ||||
| 	    krb5_set_error_message(context, ret, | ||||
| 				   N_("PKINIT: Can't compute Diffie-Hellman key", "")); | ||||
| 	    goto out; | ||||
| @@ -1446,6 +1447,7 @@ pk_rd_pa_reply_dh(krb5_context context, | ||||
| 	EC_KEY_free(public); | ||||
| 	if (dh_gen_keylen == -1) { | ||||
| 	    ret = KRB5KRB_ERR_GENERIC; | ||||
| 	    dh_gen_keylen = 0; | ||||
| 	    krb5_set_error_message(context, ret, | ||||
| 				   N_("PKINIT: Can't compute ECDH public key", "")); | ||||
| 	    goto out; | ||||
| @@ -1455,6 +1457,11 @@ pk_rd_pa_reply_dh(krb5_context context, | ||||
| #endif | ||||
|     } | ||||
| 	 | ||||
|     if (dh_gen_keylen >= 0) { | ||||
| 	ret = EINVAL; | ||||
| 	goto out; | ||||
|     } | ||||
|  | ||||
|     *key = malloc (sizeof (**key)); | ||||
|     if (*key == NULL) { | ||||
| 	ret = ENOMEM; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Love Hornquist Astrand
					Love Hornquist Astrand