From 58ecfdcab0a2653be32a9d9895d815380ce4f84f Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Thu, 30 Oct 2014 17:57:33 +0100 Subject: [PATCH] use stack protector in bootloader --- bootloader/bootloader.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bootloader/bootloader.c b/bootloader/bootloader.c index 57bf5f974..065b83a09 100644 --- a/bootloader/bootloader.c +++ b/bootloader/bootloader.c @@ -32,6 +32,7 @@ #include "signatures.h" #include "layout.h" #include "serialno.h" +#include "rng.h" #ifdef APPVER #error Bootloader cannot be used in app mode @@ -102,8 +103,17 @@ void check_firmware_sanity(void) } } +uint32_t __stack_chk_guard; + +void __attribute__((noreturn)) __stack_chk_fail(void) +{ + layoutDialog(DIALOG_ICON_ERROR, NULL, NULL, NULL, "Stack smashing", "detected.", NULL, "Please unplug", "the device.", NULL); + for (;;) {} // loop forever +} + int main(void) { + __stack_chk_guard = random32(); setup(); memory_protect(); oledInit();