File tree Expand file tree Collapse file tree 2 files changed +41
-14
lines changed Expand file tree Collapse file tree 2 files changed +41
-14
lines changed Original file line number Diff line number Diff line change @@ -8,12 +8,17 @@ VPATH += src $(FREERTOS_PLUS_TCP_PATH) $(FREERTOS_PLUS_TCP_PATH)/portable/Buffer
88DUMMY := $(shell mkdir -p obj)
99VERBOSE ?= @
1010
11- VULNS = vuln_75
11+ VULNS = vuln_75 vuln_74
1212
13- all : $(addprefix obj/,$(VULNS ) )
14- $(VERBOSE ) for t in $< ; do echo " Running $$ t" ; ./$$ t; done
13+ all : $(addprefix obj/,$(addsuffix .run,$(sort $(VULNS ) ) ) )
1514
16- obj/vuln_75 : \
15+ FREERTOS_CFLAGS = \
16+ -Iinclude/FreeRTOS-10.0.1 \
17+ -I$(FREERTOS_PLUS_TCP_PATH ) \
18+ -I$(FREERTOS_PLUS_TCP_PATH ) /include \
19+ -I$(FREERTOS_PLUS_TCP_PATH ) /portable/Compiler/GCC \
20+
21+ obj/freertos.a : \
1722 obj/FreeRTOS_ARP.o \
1823 obj/FreeRTOS_DHCP.o \
1924 obj/FreeRTOS_IP.o \
@@ -23,16 +28,17 @@ obj/vuln_75: \
2328 obj/freertos_10_0_1_helper.o \
2429 obj/list.o \
2530 obj/port.o \
26- obj/queue.o \
27- obj/vuln_75.o
28- obj/vuln_75 : \
29- CFLAGS += \
30- -Iinclude/FreeRTOS-10.0.1 \
31- -I$(FREERTOS_PLUS_TCP_PATH ) \
32- -I$(FREERTOS_PLUS_TCP_PATH ) /include \
33- -I$(FREERTOS_PLUS_TCP_PATH ) /portable/Compiler/GCC \
34- $(COMMON_CFLAGS )
35- obj/vuln_75 :
31+ obj/queue.o
32+ $(VERBOSE )$(AR ) -crs $@ $^
33+ $(VERBOSE ) rm $^
34+
35+ obj/% .run : obj/%
36+ $(VERBOSE ) echo -n " Running $* … "
37+ $(VERBOSE ) ./$< 2> $@ .tmp && { echo " ERROR" ; exit 1; } || echo " SUCCESS"
38+ $(VERBOSE ) mv $@ .tmp $@
39+
40+ obj/% : CFLAGS += $(FREERTOS_CFLAGS ) $(COMMON_CFLAGS )
41+ obj/% : obj/freertos.a obj/% .o
3642 $(VERBOSE )$(CC ) $(LDFLAGS ) -o $@ -Wl,--start-group $^ -Wl,--end-group
3743
3844obj/% .o : % .c
Original file line number Diff line number Diff line change 1+ #include "FreeRTOS.h"
2+ #include "list.h"
3+ #include "task.h"
4+ #include "FreeRTOS_IP.h"
5+ #include "FreeRTOS_IP_Private.h"
6+ #include "FreeRTOS_ARP.h"
7+
8+ char data [] =
9+ // Ethernet header
10+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
11+ // IP header
12+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
13+ // ARP header
14+ "\0\0" // hardware address space
15+ ;
16+
17+ int main ()
18+ {
19+ eFrameProcessingResult_t result = eARPProcessPacket ((ARPPacket_t * )data );
20+ }
21+
You can’t perform that action at this time.
0 commit comments