Преглед на файлове

enable undefined behaviour sanitizer

tags/v0.0.1
Kris Kwiatkowski преди 5 години
родител
ревизия
d781d0d6ed
променени са 2 файла, в които са добавени 5 реда и са изтрити 3 реда
  1. +1
    -1
      Makefile
  2. +4
    -2
      test/crypto_sign/functest.c

+ 1
- 1
Makefile Целия файл

@@ -43,7 +43,7 @@ endif

bin/sanitizer_$(subst /,_,$(SCHEME)): test/$(dir $(SCHEME))functest.c $(wildcard $(SCHEME)/clean/*.c) $(wildcard $(SCHEME)/clean/*.h) | require_scheme
mkdir -p bin
$(CC) $(CFLAGS) -fsanitize=address \
$(CC) $(CFLAGS) -fsanitize=address,undefined \
-DPQCLEAN_NAMESPACE=$(shell echo PQCLEAN_$(subst -,,$(notdir $(SCHEME))) | tr a-z A-Z) \
-iquote "./common/" \
-iquote "$(SCHEME)/clean/" \


+ 4
- 2
test/crypto_sign/functest.c Целия файл

@@ -6,15 +6,17 @@
#define NTESTS 15
#define MLEN 32

typedef uint64_t unaligned_uint64_t __attribute__((aligned(1)));

/* allocate a bit more for all keys and messages and
* make sure it is not touched by the implementations.
*/
static void write_canary(unsigned char *d) {
*((uint64_t *)d) = 0x0123456789ABCDEF;
*((unaligned_uint64_t *)d) = 0x0123456789ABCDEF;
}

static int check_canary(const unsigned char *d) {
if (*(uint64_t *)d != 0x0123456789ABCDEF) {
if (*(unaligned_uint64_t *)d != 0x0123456789ABCDEF) {
return -1;
}



Зареждане…
Отказ
Запис