diff --git a/CMakeLists.txt b/CMakeLists.txt index 96d317d..7238f42 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.27) +cmake_minimum_required(VERSION 3.18) project(project C) -set(CMAKE_C_STANDARD 17) +set(CMAKE_C_STANDARD 11) -set(CMAKE_C_FLAGS "-Wall -Werror -g -fstack-protector -z noexecstack -z relro -z now -pie -fPIE -Wl,-z,relro,-z,now") +set(CMAKE_C_FLAGS "-Wall -Werror -g -fstack-protector -fshort-enums -z noexecstack -z relro -z now -pie -fPIE -Wl,-z,relro,-z,now") add_executable(vuln vuln.c) diff --git a/vuln.c b/vuln.c index caaf4c2..8731666 100644 --- a/vuln.c +++ b/vuln.c @@ -9,9 +9,9 @@ #define MAX_PROGRAM_LEN 0x1000 -typedef enum Opcode : uint8_t { ADD = 0, ADDI = 1, SUB = 2, COPY = 3, LOADI = 4, COUNT_OPCODES } Opcode; +typedef enum Opcode { ADD = 0, ADDI = 1, SUB = 2, COPY = 3, LOADI = 4, COUNT_OPCODES } Opcode; -typedef enum Register : uint8_t { Adelheid = 0, Berthold = 1, Cornelia = 2, Dora = 3, Engelbert = 4, Friedrich = 5, Giesela = 6, Heinrich = 7, COUNT_REGISTERS } Register; +typedef enum Register { Adelheid = 0, Berthold = 1, Cornelia = 2, Dora = 3, Engelbert = 4, Friedrich = 5, Giesela = 6, Heinrich = 7, COUNT_REGISTERS } Register; typedef struct Instruction { Opcode opcode;