summaryrefslogtreecommitdiff
path: root/src/lib/libssl/bs_cbb.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/bs_cbb.c')
-rw-r--r--src/lib/libssl/bs_cbb.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/libssl/bs_cbb.c b/src/lib/libssl/bs_cbb.c
index 9de75fbb02..bf7de3fd33 100644
--- a/src/lib/libssl/bs_cbb.c
+++ b/src/lib/libssl/bs_cbb.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bs_cbb.c,v 1.17 2017/08/12 02:50:05 jsing Exp $ */ 1/* $OpenBSD: bs_cbb.c,v 1.18 2017/11/28 16:34:20 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014, Google Inc. 3 * Copyright (c) 2014, Google Inc.
4 * 4 *
@@ -271,6 +271,20 @@ CBB_flush(CBB *cbb)
271 return 1; 271 return 1;
272} 272}
273 273
274void
275CBB_discard_child(CBB *cbb)
276{
277 if (cbb->child == NULL)
278 return;
279
280 cbb->base->len = cbb->offset;
281
282 cbb->child->base = NULL;
283 cbb->child = NULL;
284 cbb->pending_len_len = 0;
285 cbb->pending_is_asn1 = 0;
286 cbb->offset = 0;
287}
274 288
275static int 289static int
276cbb_add_length_prefixed(CBB *cbb, CBB *out_contents, size_t len_len) 290cbb_add_length_prefixed(CBB *cbb, CBB *out_contents, size_t len_len)