From 129b7e402bd6e7278854e5a8935fce460552b5f4 Mon Sep 17 00:00:00 2001
From: Thomas Markwalder <tmark@isc.org>
Date: Thu, 30 Jul 2020 10:01:36 -0400
Subject: [PATCH] [#117] Fixed gcc 10 compilation issues

client/dhclient.c
relay/dhcrelay.c
    extern'ed local_port,remote_port

common/discover.c
    init local_port,remote_port to 0

server/mdb.c
    extern'ed dhcp_type_host

server/mdb6.c
    create_prefix6() - eliminated memcpy string overflow error

[Retrieved from:
https://gitlab.isc.org/isc-projects/dhcp/-/merge_requests/60/diffs?commit_id=129b7e402bd6e7278854e5a8935fce460552b5f4]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 RELNOTES          | 5 +++++
 client/dhclient.c | 5 +++--
 common/discover.c | 4 ++--
 relay/dhcrelay.c  | 4 ++--
 server/mdb.c      | 2 +-
 server/mdb6.c     | 2 +-
 6 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/RELNOTES b/RELNOTES
index 9d0a0414..6919dba7 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -103,6 +103,11 @@ ISC DHCP is open source software maintained by Internet Systems
 Consortium.  This product includes cryptographic software written
 by Eric Young (eay@cryptsoft.com).
 
+		Changes since 4.4.2 (Bug Fixes)
+
+- Minor corrections to allow compilation under gcc 10.
+  [Gitlab #117]
+
 		Changes since 4.4.2b1 (Bug Fixes)
 
 - Added a clarification on DHCPINFORMs and server authority to
diff --git a/client/dhclient.c b/client/dhclient.c
index 189e5270..7a7837cb 100644
--- a/client/dhclient.c
+++ b/client/dhclient.c
@@ -83,8 +83,9 @@ static const char message [] = "Internet Systems Consortium DHCP Client";
 static const char url [] = "For info, please visit https://www.isc.org/software/dhcp/";
 #endif /* UNIT_TEST */
 
-u_int16_t local_port = 0;
-u_int16_t remote_port = 0;
+extern u_int16_t local_port;
+extern u_int16_t remote_port;
+
 #if defined(DHCPv6) && defined(DHCP4o6)
 int dhcp4o6_state = -1; /* -1 = stopped, 0 = polling, 1 = started */
 #endif
diff --git a/common/discover.c b/common/discover.c
index ca4f4d55..22f09767 100644
--- a/common/discover.c
+++ b/common/discover.c
@@ -45,8 +45,8 @@ struct interface_info *fallback_interface = 0;
 
 int interfaces_invalidated;
 int quiet_interface_discovery;
-u_int16_t local_port;
-u_int16_t remote_port;
+u_int16_t local_port = 0;
+u_int16_t remote_port = 0;
 u_int16_t relay_port = 0;
 int dhcpv4_over_dhcpv6 = 0;
 int (*dhcp_interface_setup_hook) (struct interface_info *, struct iaddr *);
diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c
index 883d5058..7211e3bb 100644
--- a/relay/dhcrelay.c
+++ b/relay/dhcrelay.c
@@ -95,8 +95,8 @@ enum { forward_and_append,	/* Forward and append our own relay option. */
        forward_untouched,	/* Forward without changes. */
        discard } agent_relay_mode = forward_and_replace;
 
-u_int16_t local_port;
-u_int16_t remote_port;
+extern u_int16_t local_port;
+extern u_int16_t remote_port;
 
 /* Relay agent server list. */
 struct server_list {
diff --git a/server/mdb.c b/server/mdb.c
index ff8a707f..8266d764 100644
--- a/server/mdb.c
+++ b/server/mdb.c
@@ -67,7 +67,7 @@ static host_id_info_t *host_id_info = NULL;
 
 int numclasseswritten;
 
-omapi_object_type_t *dhcp_type_host;
+extern omapi_object_type_t *dhcp_type_host;
 
 isc_result_t enter_class(cd, dynamicp, commit)
 	struct class *cd;
diff --git a/server/mdb6.c b/server/mdb6.c
index da7baf6e..ebe01e56 100644
--- a/server/mdb6.c
+++ b/server/mdb6.c
@@ -1945,7 +1945,7 @@ create_prefix6(struct ipv6_pool *pool, struct iasubopt **pref,
 		}
 		new_ds.data = new_ds.buffer->data;
 		memcpy(new_ds.buffer->data, ds.data, ds.len);
-		memcpy(new_ds.buffer->data + ds.len, &tmp, sizeof(tmp));
+		memcpy(&new_ds.buffer->data[0] + ds.len, &tmp, sizeof(tmp));
 		data_string_forget(&ds, MDL);
 		data_string_copy(&ds, &new_ds, MDL);
 		data_string_forget(&new_ds, MDL);
-- 
GitLab

