From 4e321012894b2aa87e312597f19be26b30545a8b 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.
---
 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 bd35a292a1..8ead73c3a0 100644
--- a/src/i_tcp.c
+++ b/src/i_tcp.c
@@ -209,7 +209,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
 
@@ -1431,10 +1431,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