View | Details | Raw Unified | Return to bug 252316 | Differences between
and this patch

Collapse All | Expand All

(-)b/sys/opencrypto/crypto.c (-3 / +5 lines)
Lines 1378-1384 crp_sanity(struct cryptop *crp) Link Here
1378
		    ("invalid payload output start"));
1378
		    ("invalid payload output start"));
1379
		if (csp->csp_mode == CSP_MODE_DIGEST)
1379
		if (csp->csp_mode == CSP_MODE_DIGEST)
1380
		    KASSERT(crp->crp_payload_output_start == 0,
1380
		    KASSERT(crp->crp_payload_output_start == 0,
1381
		        ("digest output payloads start at 0"));
1381
		        ("output digest is not at offset 0"));
1382
		else
1382
		else
1383
		    KASSERT(crp->crp_payload_output_start +
1383
		    KASSERT(crp->crp_payload_output_start +
1384
		        crp->crp_payload_length <= olen,
1384
		        crp->crp_payload_length <= olen,
Lines 1386-1394 crp_sanity(struct cryptop *crp) Link Here
1386
	}
1386
	}
1387
	if (csp->csp_mode == CSP_MODE_DIGEST ||
1387
	if (csp->csp_mode == CSP_MODE_DIGEST ||
1388
	    csp->csp_mode == CSP_MODE_AEAD || csp->csp_mode == CSP_MODE_ETA) {
1388
	    csp->csp_mode == CSP_MODE_AEAD || csp->csp_mode == CSP_MODE_ETA) {
1389
		if (crp->crp_op & CRYPTO_OP_VERIFY_DIGEST)
1389
		if (crp->crp_op & CRYPTO_OP_VERIFY_DIGEST) {
1390
			len = ilen;
1390
			len = ilen;
1391
		else
1391
			KASSERT(olen == 0 && out == NULL,
1392
			    ("invalid use of output buffer during verify operation"));
1393
		} else
1392
			len = olen;
1394
			len = olen;
1393
		KASSERT(crp->crp_digest_start == 0 ||
1395
		KASSERT(crp->crp_digest_start == 0 ||
1394
		    crp->crp_digest_start < len,
1396
		    crp->crp_digest_start < len,

Return to bug 252316