diff options
author | Matt Caswell <matt@openssl.org> | 2020-09-03 14:35:41 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2020-09-13 11:10:40 +0100 |
commit | b4780134df95b34ae263e966e93c83594a38de5b (patch) | |
tree | 81e361e6653d1fc025af029be24d71af6a8f5051 /include | |
parent | 24c4ea958ecae0b194cc3eb812a81766cdb421f6 (diff) |
Fix safestack issues in asn1.h
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/12781)
Diffstat (limited to 'include')
-rw-r--r-- | include/openssl/asn1.h.in (renamed from include/openssl/asn1.h) | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/include/openssl/asn1.h b/include/openssl/asn1.h.in index b47e8e823e..c4d6f068ae 100644 --- a/include/openssl/asn1.h +++ b/include/openssl/asn1.h.in @@ -1,4 +1,6 @@ /* + * {- join("\n * ", @autowarntext) -} + * * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -7,6 +9,10 @@ * https://www.openssl.org/source/license.html */ +{- +use OpenSSL::stackhash qw(generate_stack_macros); +-} + #ifndef OPENSSL_ASN1_H # define OPENSSL_ASN1_H # pragma once @@ -121,7 +127,10 @@ extern "C" { # define SMIME_STREAM 0x1000 /* Stacks for types not otherwise defined in this header */ -DEFINE_OR_DECLARE_STACK_OF(X509_ALGOR) +{- + generate_stack_macros("X509_ALGOR"); +-} + # define ASN1_STRING_FLAG_BITS_LEFT 0x08/* Set if 0x07 has bits left value */ /* @@ -196,7 +205,9 @@ struct asn1_string_table_st { unsigned long flags; }; -DEFINE_OR_DECLARE_STACK_OF(ASN1_STRING_TABLE) +{- + generate_stack_macros("ASN1_STRING_TABLE"); +-} /* size limits: this stuff is taken straight from RFC2459 */ @@ -452,7 +463,9 @@ struct asn1_type_st { } value; }; -DEFINE_OR_DECLARE_STACK_OF(ASN1_TYPE) +{- + generate_stack_macros("ASN1_TYPE"); +-} typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; @@ -506,7 +519,9 @@ int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b); ASN1_TYPE *ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t); void *ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE *t); -DEFINE_OR_DECLARE_STACK_OF(ASN1_OBJECT) +{- + generate_stack_macros("ASN1_OBJECT"); +-} DECLARE_ASN1_FUNCTIONS(ASN1_OBJECT) @@ -542,7 +557,10 @@ int ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl); int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value, BIT_STRING_BITNAME *tbl); -DEFINE_OR_DECLARE_STACK_OF(ASN1_INTEGER) +{- + generate_stack_macros("ASN1_INTEGER"); +-} + DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER) ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, @@ -577,7 +595,9 @@ int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, int len); -DEFINE_OR_DECLARE_STACK_OF(ASN1_UTF8STRING) +{- + generate_stack_macros("ASN1_UTF8STRING"); +-} DECLARE_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) DECLARE_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) @@ -588,7 +608,9 @@ DECLARE_ASN1_FUNCTIONS(ASN1_BMPSTRING) int UTF8_getc(const unsigned char *str, int len, unsigned long *val); int UTF8_putc(unsigned char *str, int len, unsigned long value); -DEFINE_OR_DECLARE_STACK_OF(ASN1_GENERALSTRING) +{- + generate_stack_macros("ASN1_GENERALSTRING"); +-} DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) |