From b77541b51db50ec5f96c0b9d242d229cc5fdb46a Mon Sep 17 00:00:00 2001
From: James R <justsomejames2@gmail.com>
Date: Wed, 18 Dec 2019 15:43:29 -0800
Subject: [PATCH] Use a pointer for port_name

Using strcpy is stupid because we don't know how long the argument would be.
There's no need for a buffer anyway.

(cherry picked from commit 4e321012894b2aa87e312597f19be26b30545a8b)
---
 src/i_tcp.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/i_tcp.c b/src/i_tcp.c
index 74144d5ed..d7f767ba9 100644
--- a/src/i_tcp.c
+++ b/src/i_tcp.c
@@ -246,7 +246,7 @@ static size_t numbans = 0;
 static boolean SOCK_bannednode[MAXNETNODES+1]; /// \note do we really need the +1?
 static boolean init_tcp_driver = false;
 
-static char port_name[8] = DEFAULTPORT;
+static const char *port_name = DEFAULTPORT;
 
 #ifndef NONET
 
@@ -1485,10 +1485,11 @@ boolean I_InitTcpNetwork(void)
 	// Combined -udpport and -clientport into -port
 	// As it was really redundant having two seperate parms that does the same thing
 	{
-		if (M_IsNextParm())
-			strcpy(port_name, M_GetNextParm());
-		else
-			strcpy(port_name, "0");
+		/*
+		If it's NULL, that's okay! Because then
+		we'll get a random port from getaddrinfo.
+		*/
+		port_name = M_GetNextParm();
 	}
 
 	// parse network game options,
-- 
GitLab