Commit 649cfb5c authored by Viktor Dukhovni's avatar Viktor Dukhovni Committed by Rich Salz
Browse files

Use malloc to avoid alignment problems.



Thanks to Norm Green for reporting this issue.

Signed-off-by: default avatarRich Salz <rsalz@openssl.org>

Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5423)
parent 405988f2
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -709,15 +709,18 @@ static int do_encode_custom(EXPECTED *input,
static int do_print_item(const TEST_PACKAGE *package)
{
#define DATA_BUF_SIZE 256
    unsigned char buf[DATA_BUF_SIZE];
    const ASN1_ITEM *i = ASN1_ITEM_ptr(package->asn1_type);
    ASN1_VALUE *o = (ASN1_VALUE *)&buf;
    ASN1_VALUE *o;
    int ret;

    OPENSSL_assert(package->encode_expectations_elem_size <= DATA_BUF_SIZE);
    if ((o = OPENSSL_malloc(DATA_BUF_SIZE)) == NULL)
        return 0;

    (void)RAND_bytes(buf, (int)package->encode_expectations_elem_size);
    (void)RAND_bytes((unsigned char*)o,
                     (int)package->encode_expectations_elem_size);
    ret = ASN1_item_print(bio_err, o, 0, i, NULL);
    OPENSSL_free(o);

    return ret;
}