From 3ca442cb3339cca25bcc6817b31462beac11dea7 Mon Sep 17 00:00:00 2001 From: Kp Date: Sun, 25 Jan 2015 05:32:44 +0000 Subject: [PATCH] Use arg_port_number for -udp_hostport --- common/include/args.h | 8 ++------ similar/misc/args.cpp | 5 ++++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/common/include/args.h b/common/include/args.h index 5f0fae731..cae5340b3 100644 --- a/common/include/args.h +++ b/common/include/args.h @@ -23,9 +23,7 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. * */ - -#ifndef _ARGS_H -#define _ARGS_H +#pragma once #ifdef __cplusplus #include @@ -84,7 +82,7 @@ struct Arg int OglFixedFont; #endif const char *MplUdpHostAddr; - int MplUdpHostPort; + uint16_t MplUdpHostPort; uint16_t MplUdpMyPort; #ifdef USE_TRACKER uint16_t MplTrackerPort; @@ -133,5 +131,3 @@ static inline const char *PLAYER_DIRECTORY_STRING(const char *s, const char *) #endif #endif - -#endif diff --git a/similar/misc/args.cpp b/similar/misc/args.cpp index 2b70e6e97..5b765d7fe 100644 --- a/similar/misc/args.cpp +++ b/similar/misc/args.cpp @@ -216,7 +216,10 @@ static void ReadCmdArgs(void) else if (!d_stricmp(p, "-udp_hostaddr")) GameArg.MplUdpHostAddr = arg_string(pp, end); else if (!d_stricmp(p, "-udp_hostport")) - GameArg.MplUdpHostPort = arg_integer(pp, end); + /* Peers use -udp_myport to change, so peer cannot set a + * privileged port. + */ + arg_port_number(pp, end, GameArg.MplUdpHostPort, false); else if (!d_stricmp(p, "-udp_myport")) { arg_port_number(pp, end, GameArg.MplUdpMyPort, false);