u-boot/cmd/stackprot_test.c
Heinrich Schuchardt 63de067a1b cmd: wrong printf() code in do_test_stackprot_fail()
strlen() returns size_t. So we should use %zu to print it.
This avoids incorrect output on 32bit systems.

Fixes: 2fc62f2991 ("stackprot: Make our test a bit more complex")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-02-11 10:52:37 -05:00

28 lines
602 B
C

// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright 2021 Broadcom
*/
#include <common.h>
#include <command.h>
static int do_test_stackprot_fail(struct cmd_tbl *cmdtp, int flag, int argc,
char *const argv[])
{
/*
* In order to avoid having the compiler optimize away the stack smashing
* we need to do a little something here.
*/
char a[128];
memset(a, 0xa5, 512);
printf("We have smashed our stack as this should not exceed 128: sizeof(a) = %zd\n",
strlen(a));
return 0;
}
U_BOOT_CMD(stackprot_test, 1, 1, do_test_stackprot_fail,
"test stack protector fail", "");