diff --git a/CHANGELOG b/CHANGELOG index 39749d5..756ee20 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -40,6 +40,10 @@ version 2.67 Generalise --interface-name to cope with IPv6 addresses and multiple addresses per interface per address family. + Fix option parsing for --dhcp-host, which was generating a + spurious error when all seven possible items were + included. Thanks to Zhiqiang Wang for the bug report. + version 2.66 Add the ability to act as an authoritative DNS diff --git a/src/option.c b/src/option.c index eb71102..ac54c31 100644 --- a/src/option.c +++ b/src/option.c @@ -2510,7 +2510,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma case 'G': /* --dhcp-host */ { int j, k = 0; - char *a[6] = { NULL, NULL, NULL, NULL, NULL, NULL }; + char *a[7] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL }; struct dhcp_config *new; struct in_addr in; @@ -2522,7 +2522,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma new->netid = NULL; if ((a[0] = arg)) - for (k = 1; k < 6; k++) + for (k = 1; k < 7; k++) if (!(a[k] = split(a[k-1]))) break;