summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Routhier <sar@isc.org>2012-07-12 22:58:59 -0700
committerShawn Routhier <sar@isc.org>2012-07-12 22:58:59 -0700
commit77bf78f6cd0181fab90ecccf3312d1c68e54ddda (patch)
treef3f57d09cbf6480fd318de31ad664b6cce78fdb8
parent84e661c5b4c77e13066683c80051a2b4ed5f7ddb (diff)
downloadisc-dhcp-4_2_4_p1.tar.gz
[rt30024]v4_2_4_p1
Move the line that zeros the packet_oro variable to be earlier so it is properly cleared if we exit early.
-rw-r--r--server/dhcpv6.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/server/dhcpv6.c b/server/dhcpv6.c
index 3ae86904..4178ca53 100644
--- a/server/dhcpv6.c
+++ b/server/dhcpv6.c
@@ -1254,6 +1254,8 @@ lease_to_client(struct data_string *reply_ret,
isc_boolean_t no_resources_avail = ISC_FALSE;
#endif
+ memset(&packet_oro, 0, sizeof(packet_oro));
+
/* Locate the client. */
if (shared_network_from_packet6(&reply.shared,
packet) != ISC_R_SUCCESS)
@@ -1276,7 +1278,6 @@ lease_to_client(struct data_string *reply_ret,
* Get the ORO from the packet, if any.
*/
oc = lookup_option(&dhcpv6_universe, packet->options, D6O_ORO);
- memset(&packet_oro, 0, sizeof(packet_oro));
if (oc != NULL) {
if (!evaluate_option_cache(&packet_oro, packet,
NULL, NULL,