From 5c53f827d3f21a28566b6c6bca7748ebfae68777 Mon Sep 17 00:00:00 2001 From: leitner Date: Thu, 7 Sep 2023 20:55:47 +0000 Subject: [PATCH] make check should have warnings enabled and optimizer on --- Makefile | 2 +- scan_asn1BOOLEAN.c | 3 ++- scan_asn1INTEGER.c | 5 +++-- scan_asn1length.c | 7 +++++-- scan_asn1rawint.c | 3 ++- scan_asn1tag.c | 2 ++ scan_asn1tagint.c | 1 + 7 files changed, 16 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index a6c2c04..05517db 100644 --- a/Makefile +++ b/Makefile @@ -229,7 +229,7 @@ WITH_UNITTEST = $(shell grep -l UNITTEST *.c) UNITTEST_BIN = $(patsubst %.c, test/%, $(WITH_UNITTEST)) test/%: %.c - gcc --coverage -DUNITTEST -o $@ $^ -I. + $(CC) $(CFLAGS) --coverage -DUNITTEST -o $@ $^ -I. $(LDFLAGS) $@ check: $(UNITTEST_BIN) diff --git a/scan_asn1BOOLEAN.c b/scan_asn1BOOLEAN.c index 98eab1e..99499bc 100644 --- a/scan_asn1BOOLEAN.c +++ b/scan_asn1BOOLEAN.c @@ -28,7 +28,8 @@ size_t scan_asn1BOOLEAN(const char* src,const char* max,int* val) { int main() { char buf[100]; - int l; + int l=0; + memset(buf,0,sizeof buf); strcpy(buf,"\x01\x01\x00"); // 0x01 = UNIVERSAL + CONSTRUCTED + BOOLEAN, 0x01 = length 1, 0x00 = false assert(scan_asn1BOOLEAN(buf,buf+3,&l)==3 && l==0); assert(scan_asn1BOOLEAN(buf,buf+2,&l)==0); // not enough input diff --git a/scan_asn1INTEGER.c b/scan_asn1INTEGER.c index 7c8a708..dbfd2f3 100644 --- a/scan_asn1INTEGER.c +++ b/scan_asn1INTEGER.c @@ -24,7 +24,8 @@ size_t scan_asn1INTEGER(const char* src,const char* max,signed long* val) { int main() { char buf[100]; - unsigned long l; + long l=0; + memset(buf,0,sizeof buf); strcpy(buf,"\x02\x01\x17"); // 0x02 = UNIVERSAL + CONSTRUCTED + INTEGER, 0x01 = length 1, 0x17 = value assert(scan_asn1INTEGER(buf,buf+3,&l)==3 && l==23); assert(scan_asn1INTEGER(buf,buf+2,&l)==0); // not enough input @@ -44,7 +45,7 @@ int main() { strcpy(buf,"\x02\x08\x7f\xff\xff\xff\xff\xff\xff\xff"); // LONG_MAX assert(scan_asn1INTEGER(buf,buf+10,&l)==10 && l==0x7ffffffffffffffful); memcpy(buf,"\x02\x08\x80\x00\x00\x00\x00\x00\x00\x00",10); // LONG_MIN - assert(scan_asn1INTEGER(buf,buf+10,&l)==10 && l==-0x8000000000000000ul); + assert(scan_asn1INTEGER(buf,buf+10,&l)==10 && l==(long)0x8000000000000000); strcpy(buf,"\x02\x08\xff\xff\xff\xff\xff\xff\xff\xff"); assert(scan_asn1INTEGER(buf,buf+10,&l)==0); // non-minimal encoding of -1 } diff --git a/scan_asn1length.c b/scan_asn1length.c index 95c42be..bdaae0e 100644 --- a/scan_asn1length.c +++ b/scan_asn1length.c @@ -73,10 +73,13 @@ size_t wrapper(const char* src,const char* max,size_t* value) { #define scan_asn1length wrapper #endif +const size_t buflen = 0x9000; + int main() { - char* buf = malloc(0x9000); - unsigned long l; + char* buf = malloc(buflen); + unsigned long l=0; assert(buf); + memset(buf,0,buflen); /* empty input */ assert(scan_asn1length(buf,buf,&l)==0); /* regular 1-byte encoding */ diff --git a/scan_asn1rawint.c b/scan_asn1rawint.c index 607f08c..2164026 100644 --- a/scan_asn1rawint.c +++ b/scan_asn1rawint.c @@ -68,7 +68,8 @@ size_t wrapper(const char* src,const char* max,size_t len,long* l) { int main() { char buf[10]; - long l; + long l=0; + memset(buf,0,sizeof buf); assert(scan_asn1rawint(buf, buf, 0, &l) == 0); // no input assert(scan_asn1rawint(buf, buf+10, 0, &l) == 0); // no input strcpy(buf,"\x01"); diff --git a/scan_asn1tag.c b/scan_asn1tag.c index 76ae899..28097e1 100644 --- a/scan_asn1tag.c +++ b/scan_asn1tag.c @@ -62,6 +62,8 @@ int main() { unsigned long tag; char buf[15]; + memset(buf,0,sizeof buf); + assert(scan_asn1tag(buf,buf,&tc,&tt,&tag)==0); // empty input strcpy(buf,"\x01"); assert(scan_asn1tag(buf,buf+1,&tc,&tt,&tag)==1 && tc==UNIVERSAL && tt==PRIMITIVE && tag==BOOLEAN); /* incomplete input */ diff --git a/scan_asn1tagint.c b/scan_asn1tagint.c index fee502e..71cd1bd 100644 --- a/scan_asn1tagint.c +++ b/scan_asn1tagint.c @@ -54,6 +54,7 @@ size_t wrapper(const char* src,const char* max,unsigned long* val) { int main() { char buf[10]; unsigned long l; + memset(buf,0,sizeof buf); l=0; assert(scan_asn1tagint(buf,buf,&l)==0); // empty input strcpy(buf,"\x80\x01"); assert(scan_asn1tagint(buf,buf+2,&l)==0); // non-minimal encoding