summaryrefslogtreecommitdiffstats
path: root/lib/libssl/bytestring.h
diff options
context:
space:
mode:
authordoug <doug@openbsd.org>2015-06-18 23:25:07 +0000
committerdoug <doug@openbsd.org>2015-06-18 23:25:07 +0000
commit9d4b5ca74c88ec79c48a23a2626fb296b06d1e70 (patch)
treeb1ca48b1108b371d44fe088afaed033a8af04463 /lib/libssl/bytestring.h
parentRemove Microsoft Server Gated Crypto. (diff)
downloadwireguard-openbsd-9d4b5ca74c88ec79c48a23a2626fb296b06d1e70.tar.xz
wireguard-openbsd-9d4b5ca74c88ec79c48a23a2626fb296b06d1e70.zip
Extend the input types for CBB_add_*() to help catch bugs.
While the previous types were correct, they can silently accept bad data via truncation or signed conversion. We now take size_t as input for CBB_add_u*() and do a range check. discussed with deraadt@ input + ok jsing@ miod@
Diffstat (limited to 'lib/libssl/bytestring.h')
-rw-r--r--lib/libssl/bytestring.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/libssl/bytestring.h b/lib/libssl/bytestring.h
index e831706b28d..4c9d4d88847 100644
--- a/lib/libssl/bytestring.h
+++ b/lib/libssl/bytestring.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: bytestring.h,v 1.12 2015/06/17 07:25:56 doug Exp $ */
+/* $OpenBSD: bytestring.h,v 1.13 2015/06/18 23:25:07 doug Exp $ */
/*
* Copyright (c) 2014, Google Inc.
*
@@ -423,7 +423,7 @@ int CBB_add_u24_length_prefixed(CBB *cbb, CBB *out_contents);
* single octet identifiers are supported. It returns one on success or zero
* on error.
*/
-int CBB_add_asn1(CBB *cbb, CBB *out_contents, uint8_t tag);
+int CBB_add_asn1(CBB *cbb, CBB *out_contents, unsigned int tag);
/*
* CBB_add_bytes appends |len| bytes from |data| to |cbb|. It returns one on
@@ -443,19 +443,19 @@ int CBB_add_space(CBB *cbb, uint8_t **out_data, size_t len);
* CBB_add_u8 appends an 8-bit number from |value| to |cbb|. It returns one on
* success and zero otherwise.
*/
-int CBB_add_u8(CBB *cbb, uint8_t value);
+int CBB_add_u8(CBB *cbb, size_t value);
/*
* CBB_add_u8 appends a 16-bit, big-endian number from |value| to |cbb|. It
* returns one on success and zero otherwise.
*/
-int CBB_add_u16(CBB *cbb, uint16_t value);
+int CBB_add_u16(CBB *cbb, size_t value);
/*
* CBB_add_u24 appends a 24-bit, big-endian number from |value| to |cbb|. It
* returns one on success and zero otherwise.
*/
-int CBB_add_u24(CBB *cbb, uint32_t value);
+int CBB_add_u24(CBB *cbb, size_t value);
/*
* CBB_add_asn1_uint64 writes an ASN.1 INTEGER into |cbb| using |CBB_add_asn1|