This commit is contained in:
Yorick Barbanneau 2023-04-17 23:40:08 +02:00
parent 4296f3a394
commit 553cdc440c
24 changed files with 919 additions and 0 deletions

View file

@ -0,0 +1,22 @@
CFLAGS=-g -Wall -Wextra -Wno-unused-parameter
LDLIBS=-lpthread
C=$(wildcard *.c)
O=$(C:.c=)
A=$(C:.c=.asan)
L=$(C:.c=.lsan)
U=$(C:.c=.usan)
T=$(C:.c=.tsan)
all: $O $A $U $T
%.asan: %.c
$(CC) -fsanitize=address -fPIC $< -o $@ $(CFLAGS) $(LDLIBS)
%.lsan: %.c
$(CC) -fsanitize=leak -fPIC $< -o $@ $(CFLAGS) $(LDLIBS)
%.usan: %.c
$(CC) -fsanitize=undefined -fPIC $< -o $@ $(CFLAGS) $(LDLIBS)
%.tsan: %.c
$(CC) -fsanitize=thread -fPIC $< -o $@ $(CFLAGS) $(LDLIBS)
clean:
rm -f $O $A $L $U $T

View file

@ -0,0 +1,14 @@
#include <stdlib.h>
#include <stdio.h>
void f(char foo) {
printf("foo is %d\n", foo);
}
int main(void) {
char *c = malloc(10);
f(c[0]);
free(c);
return 0;
}

View file

@ -0,0 +1,17 @@
#include <stdlib.h>
#include <stdio.h>
void f(char foo) {
if (foo == 0)
printf("foo is 0\n");
else
printf("foo is %d\n", foo);
}
int main(void) {
char *c = malloc(10);
f(c[0]);
free(c);
return 0;
}