From: patrick Date: Mon, 13 Aug 2018 14:10:26 +0000 (+0000) Subject: The iterator i is not the option code, but simply the index for the X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=f4597f101c0bf97a73d4e948a95f2424b768c3ee;p=openbsd The iterator i is not the option code, but simply the index for the array that stores the option codes. Fixes the issue where it named an incorrect option on error. Found by Florian Kaiser ok krw@ --- diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c index 7dfbe8d7774..b7762c763e9 100644 --- a/sbin/dhclient/dhclient.c +++ b/sbin/dhclient/dhclient.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dhclient.c,v 1.575 2018/06/20 12:10:46 sthen Exp $ */ +/* $OpenBSD: dhclient.c,v 1.576 2018/08/13 14:10:26 patrick Exp $ */ /* * Copyright 2004 Henning Brauer @@ -1230,7 +1230,7 @@ packet_to_lease(struct interface_info *ifi, struct option_data *options) */ for (i = 0; i < config->required_option_count; i++) { if (lease->options[config->required_options[i]].len == 0) { - name = code_to_name(i); + name = code_to_name(config->required_options[i]); log_warnx("%s: %s required but missing", log_procname, name); goto decline;