From c22eb8b2ba892d87b87067c2794785408307c4e1 Mon Sep 17 00:00:00 2001 From: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com> Date: Mon, 27 Mar 2023 07:52:13 +1000 Subject: [PATCH] fix version string buffer overflow (#327) --- src/pc/network/version.c | 5 ++++- src/pc/network/version.h | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pc/network/version.c b/src/pc/network/version.c index a266097df..6657e13f6 100644 --- a/src/pc/network/version.c +++ b/src/pc/network/version.c @@ -3,7 +3,7 @@ #include "types.h" static char sVersionString[MAX_VERSION_LENGTH] = { 0 }; -static char sLocalVersionString[MAX_VERSION_LENGTH] = { 0 }; +static char sLocalVersionString[MAX_LOCAL_VERSION_LENGTH] = { 0 }; char* get_version(void) { snprintf(sVersionString, MAX_VERSION_LENGTH, "%s %d.%d", VERSION_TEXT, VERSION_NUMBER, MINOR_VERSION_NUMBER); @@ -11,6 +11,9 @@ char* get_version(void) { } char* get_version_local(void) { + if (PATCH_VERSION_NUMBER <= 0) { + return get_version(); + } snprintf(sLocalVersionString, MAX_LOCAL_VERSION_LENGTH, "%s %d.%d.%d", VERSION_TEXT, VERSION_NUMBER, MINOR_VERSION_NUMBER, PATCH_VERSION_NUMBER); return sLocalVersionString; } diff --git a/src/pc/network/version.h b/src/pc/network/version.h index e6f944ee1..38900ce88 100644 --- a/src/pc/network/version.h +++ b/src/pc/network/version.h @@ -4,10 +4,10 @@ #define VERSION_TEXT "beta" #define VERSION_NUMBER 32 #define MINOR_VERSION_NUMBER 0 -#define PATCH_VERSION_NUMBER 2 +#define PATCH_VERSION_NUMBER 3 #define MAX_VERSION_LENGTH 10 -#define MAX_LOCAL_VERSION_LENGTH 12 +#define MAX_LOCAL_VERSION_LENGTH 11 char* get_version(void); char* get_version_local(void);