Hi, here a first patch among a small patchset.
Kind regards.
From 65b5807cfbdebf28f01695fa02a34cd0353d4212 Mon Sep 17 00:00:00 2001 From: David Carlier <dcarl...@afilias.info> Date: Fri, 8 Apr 2016 10:26:44 +0100 Subject: [PATCH 1/4] BUG/MINOR: server: risk of over reading the pref_net array. dns_option struct pref_net field is an array of 5. The issue here shows that pref_net_nb can go up to 5 as well which might lead to read outside of this array. --- src/server.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server.c b/src/server.c index 72799bb..5a2c58a 100644 --- a/src/server.c +++ b/src/server.c @@ -1116,7 +1116,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr e = p; while (*p != '\0') { /* If no room avalaible, return error. */ - if (opt->pref_net_nb > SRV_MAX_PREF_NET) { + if (opt->pref_net_nb >= SRV_MAX_PREF_NET) { Alert("parsing [%s:%d]: '%s' exceed %d networks.\n", file, linenum, args[cur_arg], SRV_MAX_PREF_NET); err_code |= ERR_ALERT | ERR_FATAL; -- 2.5.0