From b3c6c677bca857fb5aa390f60b7dc5333ccf8b6f Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Tue, 2 Nov 2021 10:54:21 -0500 Subject: [PATCH] lsteamclient: Fix SteamIPAddress_t size CW-Bug-Id: #19598 --- lsteamclient/steam_defs.h | 4 +--- lsteamclient/steamworks_sdk_147/steamtypes.h | 2 +- lsteamclient/steamworks_sdk_148a/steamtypes.h | 2 +- lsteamclient/steamworks_sdk_149/steamtypes.h | 2 +- lsteamclient/steamworks_sdk_150/steamtypes.h | 2 +- lsteamclient/steamworks_sdk_151/steamtypes.h | 2 +- lsteamclient/steamworks_sdk_152/steamtypes.h | 2 +- lsteamclient/winISteamNetworking.c | 4 ++-- 8 files changed, 9 insertions(+), 11 deletions(-) diff --git a/lsteamclient/steam_defs.h b/lsteamclient/steam_defs.h index 163bfcac..a3a3e66a 100644 --- a/lsteamclient/steam_defs.h +++ b/lsteamclient/steam_defs.h @@ -121,9 +121,7 @@ typedef struct ControllerAnalogActionData_t { unsigned char a[13]; } ControllerA typedef struct ControllerDigitalActionData_t { unsigned char a[2]; } ControllerDigitalActionData_t; typedef struct ControllerMotionData_t { unsigned char a[40]; } ControllerMotionData_t; typedef struct SteamNetworkPingLocation_t { uint8 m_data[ 512 ]; } SteamNetworkPingLocation_t; - -/* XXX GET SIZE */ -typedef struct SteamIPAddress_t { uint8 m_data[12]; } SteamIPAddress_t; +typedef struct SteamIPAddress_t { uint8 m_data[20]; } SteamIPAddress_t; #pragma pack( push, 1 ) diff --git a/lsteamclient/steamworks_sdk_147/steamtypes.h b/lsteamclient/steamworks_sdk_147/steamtypes.h index 7b05753d..e4b7643e 100644 --- a/lsteamclient/steamworks_sdk_147/steamtypes.h +++ b/lsteamclient/steamworks_sdk_147/steamtypes.h @@ -200,7 +200,7 @@ struct SteamIPAddress_t // Internal use only uint64 m_ipv6Qword[2]; // big endian - }; + } x; ESteamIPType m_eType; diff --git a/lsteamclient/steamworks_sdk_148a/steamtypes.h b/lsteamclient/steamworks_sdk_148a/steamtypes.h index be209574..52d6cfcc 100644 --- a/lsteamclient/steamworks_sdk_148a/steamtypes.h +++ b/lsteamclient/steamworks_sdk_148a/steamtypes.h @@ -201,7 +201,7 @@ struct SteamIPAddress_t // Internal use only uint64 m_ipv6Qword[2]; // big endian - }; + } x; ESteamIPType m_eType; diff --git a/lsteamclient/steamworks_sdk_149/steamtypes.h b/lsteamclient/steamworks_sdk_149/steamtypes.h index be209574..52d6cfcc 100644 --- a/lsteamclient/steamworks_sdk_149/steamtypes.h +++ b/lsteamclient/steamworks_sdk_149/steamtypes.h @@ -201,7 +201,7 @@ struct SteamIPAddress_t // Internal use only uint64 m_ipv6Qword[2]; // big endian - }; + } x; ESteamIPType m_eType; diff --git a/lsteamclient/steamworks_sdk_150/steamtypes.h b/lsteamclient/steamworks_sdk_150/steamtypes.h index be209574..52d6cfcc 100644 --- a/lsteamclient/steamworks_sdk_150/steamtypes.h +++ b/lsteamclient/steamworks_sdk_150/steamtypes.h @@ -201,7 +201,7 @@ struct SteamIPAddress_t // Internal use only uint64 m_ipv6Qword[2]; // big endian - }; + } x; ESteamIPType m_eType; diff --git a/lsteamclient/steamworks_sdk_151/steamtypes.h b/lsteamclient/steamworks_sdk_151/steamtypes.h index be209574..52d6cfcc 100644 --- a/lsteamclient/steamworks_sdk_151/steamtypes.h +++ b/lsteamclient/steamworks_sdk_151/steamtypes.h @@ -201,7 +201,7 @@ struct SteamIPAddress_t // Internal use only uint64 m_ipv6Qword[2]; // big endian - }; + } x; ESteamIPType m_eType; diff --git a/lsteamclient/steamworks_sdk_152/steamtypes.h b/lsteamclient/steamworks_sdk_152/steamtypes.h index 10019cde..baf02225 100644 --- a/lsteamclient/steamworks_sdk_152/steamtypes.h +++ b/lsteamclient/steamworks_sdk_152/steamtypes.h @@ -127,7 +127,7 @@ struct SteamIPAddress_t // Internal use only uint64 m_ipv6Qword[2]; // big endian - }; + } x; ESteamIPType m_eType; diff --git a/lsteamclient/winISteamNetworking.c b/lsteamclient/winISteamNetworking.c index fb0686aa..357d0b7f 100644 --- a/lsteamclient/winISteamNetworking.c +++ b/lsteamclient/winISteamNetworking.c @@ -78,7 +78,7 @@ bool __thiscall winISteamNetworking_SteamNetworking006_AllowP2PPacketRelay(winIS return cppISteamNetworking_SteamNetworking006_AllowP2PPacketRelay(_this->linux_side, bAllow); } -DEFINE_THISCALL_WRAPPER(winISteamNetworking_SteamNetworking006_CreateListenSocket, 20) +DEFINE_THISCALL_WRAPPER(winISteamNetworking_SteamNetworking006_CreateListenSocket, 36) SNetListenSocket_t __thiscall winISteamNetworking_SteamNetworking006_CreateListenSocket(winISteamNetworking_SteamNetworking006 *_this, int nVirtualP2PPort, SteamIPAddress_t nIP, uint16 nPort, bool bAllowUseOfPacketRelay) { TRACE("%p\n", _this); @@ -92,7 +92,7 @@ SNetSocket_t __thiscall winISteamNetworking_SteamNetworking006_CreateP2PConnecti return cppISteamNetworking_SteamNetworking006_CreateP2PConnectionSocket(_this->linux_side, steamIDTarget, nVirtualPort, nTimeoutSec, bAllowUseOfPacketRelay); } -DEFINE_THISCALL_WRAPPER(winISteamNetworking_SteamNetworking006_CreateConnectionSocket, 16) +DEFINE_THISCALL_WRAPPER(winISteamNetworking_SteamNetworking006_CreateConnectionSocket, 32) SNetSocket_t __thiscall winISteamNetworking_SteamNetworking006_CreateConnectionSocket(winISteamNetworking_SteamNetworking006 *_this, SteamIPAddress_t nIP, uint16 nPort, int nTimeoutSec) { TRACE("%p\n", _this);