diff --git a/content/urldb.c b/content/urldb.c index add0e4bae..35254921a 100644 --- a/content/urldb.c +++ b/content/urldb.c @@ -1346,7 +1346,8 @@ static void urldb_dump_search(struct search_node *parent, int depth) int i; /* index into string */ char s[1024]; int r; - + int sl = sizeof(s) - 2; + if (parent == &empty) return; @@ -1358,8 +1359,8 @@ static void urldb_dump_search(struct search_node *parent, int depth) for (h = parent->data; h; h = h->parent) { if (h->part) { - r = snprintf(&s[i], (sizeof(s) - 2) - i, "%s", h->part); - if ((i + r) > (sizeof(s) - 2)) { + r = snprintf(&s[i], sl - i, "%s", h->part); + if ((i + r) > sl) { break; } i += r; diff --git a/test/Makefile b/test/Makefile index 6bc037cfd..0253f4dc0 100644 --- a/test/Makefile +++ b/test/Makefile @@ -11,7 +11,7 @@ nsurl_SRCS := utils/corestrings.c utils/nsurl.c utils/idna.c \ urldbtest_SRCS := content/urldb.c \ utils/idna.c utils/bloom.c utils/nsoption.c utils/nsurl.c \ utils/corestrings.c \ - utils/hashtable.c utils/messages.c utils/utils.c \ + utils/hashtable.c utils/messages.c utils/time.c utils/utils.c \ test/log.c test/urldbtest.c # low level cache sources @@ -85,8 +85,15 @@ endef $(eval $(call pkg_cfg_detect_lib,check,Check)) +COMMON_WARNFLAGS = -W -Wall -Wundef -Wpointer-arith -Wcast-align \ + -Wwrite-strings -Wmissing-declarations -Wuninitialized -TESTCFLAGS := -std=c99 -g -Wall \ +ifneq ($(CC_MAJOR),2) + COMMON_WARNFLAGS += -Wno-unused-parameter +endif + +TESTCFLAGS := -std=c99 -g \ + $(COMMON_WARNFLAGS) \ -D_BSD_SOURCE \ -D_POSIX_C_SOURCE=200809L \ -D_XOPEN_SOURCE=600 \