diff options
Diffstat (limited to 'src/lib/libssl/bs_cbb.c')
-rw-r--r-- | src/lib/libssl/bs_cbb.c | 16 |
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 | ||
274 | void | ||
275 | CBB_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 | ||
275 | static int | 289 | static int |
276 | cbb_add_length_prefixed(CBB *cbb, CBB *out_contents, size_t len_len) | 290 | cbb_add_length_prefixed(CBB *cbb, CBB *out_contents, size_t len_len) |