peace-maker e3f4d239f1 IBinTools: Block loading incompatible interface versions (#979)
In #705 SourceMod received support for x64 binaries. The `IBinTools` interface was updated to call functions in 64bit binaries. The `PassInfo` struct's size was increased and the `Create(V)Call()` functions signatures changed, thus making the interface incompatible for consumers which were compiled against an earlier version.

`SMInterface::IsVersionCompatible` wasn't adjusted to that fact, so extensions compiled against pre SM 1.10 could request an `IBinTools` interface pointer, but crash when they try to use it.

This change makes requests to older interface versions invalid, thus letting `RequestInterface` return `NULL` for older extensions. It doesn't fix the backwards incompatibility, but at least makes the problem more blatant, so extensions can handle it themselves.
2019-04-11 14:51:38 -07:00
2018-08-13 23:03:48 +01:00
2019-03-16 17:25:36 -07:00
2019-02-17 21:21:43 -08:00
2011-04-13 19:05:41 -05:00
2017-12-18 20:39:57 -05:00

SourceMod

General

Development

Contact

  • Connect with us on GameSurge IRC in #sourcemod
  • Alternatively feel free to join our Discord server
S
Description
No description provided
Readme
45 MiB
Languages
C 59.7%
C++ 18%
HTML 4.8%
Roff 3.8%
SourcePawn 3.4%
Other 10%