summaryrefslogtreecommitdiff
path: root/src/lib/libssl/tls13_record_layer.c
diff options
context:
space:
mode:
authorjsing <>2019-11-17 21:47:01 +0000
committerjsing <>2019-11-17 21:47:01 +0000
commit6a29f6c11055ec2099ab6780e23aa0d6af56da21 (patch)
tree20680a1e517e3612a9942c1281b329b4e10da94b /src/lib/libssl/tls13_record_layer.c
parentfc37d72d0cd2021205ee99d8110ad1648055fde7 (diff)
downloadopenbsd-6a29f6c11055ec2099ab6780e23aa0d6af56da21.tar.gz
openbsd-6a29f6c11055ec2099ab6780e23aa0d6af56da21.tar.bz2
openbsd-6a29f6c11055ec2099ab6780e23aa0d6af56da21.zip
Change tls13_record_layer_phh() to take a CBS as this avoids ownership
issues and makes call sites cleaner. ok beck@
Diffstat (limited to 'src/lib/libssl/tls13_record_layer.c')
-rw-r--r--src/lib/libssl/tls13_record_layer.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/lib/libssl/tls13_record_layer.c b/src/lib/libssl/tls13_record_layer.c
index 9458024ef3..ebefac0a25 100644
--- a/src/lib/libssl/tls13_record_layer.c
+++ b/src/lib/libssl/tls13_record_layer.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls13_record_layer.c,v 1.13 2019/11/17 18:42:17 tb Exp $ */ 1/* $OpenBSD: tls13_record_layer.c,v 1.14 2019/11/17 21:47:01 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -356,14 +356,13 @@ tls13_record_layer_alert(struct tls13_record_layer *rl,
356} 356}
357 357
358ssize_t 358ssize_t
359tls13_record_layer_phh(struct tls13_record_layer *rl, uint8_t *data, 359tls13_record_layer_phh(struct tls13_record_layer *rl, CBS *cbs)
360 size_t len)
361{ 360{
362 if (rl->phh_data != NULL) 361 if (rl->phh_data != NULL)
363 return TLS13_IO_FAILURE; 362 return TLS13_IO_FAILURE;
364 363
365 rl->phh_data = data; 364 if (!CBS_stow(cbs, &rl->phh_data, &rl->phh_len))
366 rl->phh_len = len; 365 return TLS13_IO_FAILURE;
367 366
368 CBS_init(&rl->phh_cbs, rl->phh_data, rl->phh_len); 367 CBS_init(&rl->phh_cbs, rl->phh_data, rl->phh_len);
369 368