Commit 4c5c3024 authored by Jan-Simon Möller's avatar Jan-Simon Möller Committed by Behan Webster
Browse files

crypto: LLVMLinux: Remove VLAIS usage from crypto/testmgr.c



Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.

The new code can be compiled with both gcc and clang.

Signed-off-by: default avatarJan-Simon Möller <dl9pf@gmx.de>
Signed-off-by: default avatarBehan Webster <behanw@converseincode.com>
Reviewed-by: default avatarMark Charlebois <charlebm@gmail.com>
Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Cc: pageexec@freemail.hu
parent 357aabed
Loading
Loading
Loading
Loading
+6 −8
Original line number Original line Diff line number Diff line
@@ -1678,16 +1678,14 @@ static int alg_test_crc32c(const struct alg_test_desc *desc,
	}
	}


	do {
	do {
		struct {
		SHASH_DESC_ON_STACK(shash, tfm);
			struct shash_desc shash;
		u32 *ctx = (u32 *)shash_desc_ctx(shash);
			char ctx[crypto_shash_descsize(tfm)];
		} sdesc;


		sdesc.shash.tfm = tfm;
		shash->tfm = tfm;
		sdesc.shash.flags = 0;
		shash->flags = 0;


		*(u32 *)sdesc.ctx = le32_to_cpu(420553207);
		*ctx = le32_to_cpu(420553207);
		err = crypto_shash_final(&sdesc.shash, (u8 *)&val);
		err = crypto_shash_final(shash, (u8 *)&val);
		if (err) {
		if (err) {
			printk(KERN_ERR "alg: crc32c: Operation failed for "
			printk(KERN_ERR "alg: crc32c: Operation failed for "
			       "%s: %d\n", driver, err);
			       "%s: %d\n", driver, err);