Godot Engine – Multi-platform 2D and 3D game engine
Go to file
Fabio Alessandrelli 497bc7d5fd Fix marshalls size checks.
Yesterday, when playing around with my network code, I realized there is
a security issue in decode_variant, at least when decoding PoolArrays.
Basically, the size of the PoolArray is encoded in a uint32_t, when
decoding it, that value is cast to int when comparing if the packet is
actually that size causing numbers with MSB=1 to be interpreted as
negative thus always passing the check. That same value though, is used
as uint32_t again to resize the output vector.  For this reason, sending
a malformed packet with declared type PoolByteArray and size of 2^31(+x)
causes the engine to try to allocate 2+GB of pool memory, causing the
engine to crash.

This patch is a backport of the one initially written for the master
branch.
2018-07-28 17:17:36 +02:00
core Fix marshalls size checks. 2018-07-28 17:17:36 +02:00
doc doc: Sync classref with current source 2018-07-18 11:04:13 +02:00
drivers Style: Format code with clang-format 6.0.1 2018-07-18 17:56:12 +02:00
editor Style: Format code with clang-format 6.0.1 2018-07-18 17:56:12 +02:00
main Style: Format code with clang-format 6.0.1 2018-07-18 17:56:12 +02:00
misc Travis: Update style checks to clang-format 6.0.1 2018-07-18 17:48:28 +02:00
modules Style: Format code with clang-format 6.0.1 2018-07-18 17:56:12 +02:00
platform Style: Format code with clang-format 6.0.1 2018-07-18 17:56:12 +02:00
scene Style: Format code with clang-format 6.0.1 2018-07-18 17:56:12 +02:00
servers Add check to clang 6.0 compiler bug workaround 2018-07-26 17:25:55 +02:00
thirdparty openssl: Update to pristine 1.0.2o (security update) 2018-07-27 16:39:39 +02:00
.appveyor.yml Fix scons installation on AppVeyor 2018-05-16 23:08:45 +02:00
.clang-format Backport of clang-format 7cb6e6b723 2018-02-22 13:00:36 -05:00
.editorconfig Add trim_trailing_whitespace to .editorconfig 2017-05-27 00:42:58 +02:00
.gitattributes Spaces to tabs and layout adjustments on .mm files 2017-04-08 09:47:13 +10:00
.gitignore Document -export_debug option in the help output 2017-10-19 23:49:49 +02:00
.travis.yml Travis: Fix clang-format version 2018-07-19 09:59:30 +02:00
AUTHORS.md Update AUTHORS and DONORS list 2018-07-18 10:32:32 +02:00
compat.py Make build scripts Scons 3.0/Python3 compatible 2017-10-24 06:41:32 +02:00
CONTRIBUTING.md Formatting CONTRIBUTING.md to 80 colums 2017-06-17 11:58:55 +02:00
COPYRIGHT.txt openssl: Update to pristine 1.0.2o (security update) 2018-07-27 16:39:39 +02:00
DONORS.md Update AUTHORS and DONORS list 2018-07-18 10:32:32 +02:00
icon.png Fixed iCCp chunk in pngs 2016-06-22 21:13:29 +02:00
icon.svg Remove grey capsule on official logo 2016-02-28 16:52:45 +01:00
ISSUE_TEMPLATE Issue template: ask for Godot version 2016-05-06 13:31:59 +02:00
LICENSE.txt Update copyright statements to 2018 2018-01-02 11:27:24 +01:00
LOGO_LICENSE.md Improve documentation of thirdparty code snippets 2017-05-26 23:53:14 +02:00
logo.png Fixed iCCp chunk in pngs 2016-06-22 21:13:29 +02:00
logo.svg Remove grey capsule on official logo 2016-02-28 16:52:45 +01:00
methods.py add NoCache wrapper to Command 2018-06-21 03:40:24 -04:00
README.md Changed badge to use HTTPS 2017-07-30 21:10:21 +02:00
SConstruct add NoCache wrapper to Command 2018-06-21 03:40:24 -04:00
version.py Bump version to 2.1.5-rc 2018-03-23 14:31:00 +01:00

GODOT

Godot Engine

Homepage: https://godotengine.org

2D and 3D cross-platform game engine

Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unified interface. It provides a comprehensive set of common tools, so that users can focus on making games without having to reinvent the wheel. Games can be exported in one click to a number of platforms, including the major desktop platforms (Linux, Mac OSX, Windows) as well as mobile (Android, iOS) and web-based (HTML5) platforms.

Free, open source and community-driven

Godot is completely free and open source under the very permissive MIT license. No strings attached, no royalties, nothing. The users' games are theirs, down to the last line of engine code. Godot's development is fully independent and community-driven, empowering users to help shape their engine to match their expectations. It is supported by the Software Freedom Conservancy not-for-profit.

Before being open sourced in February 2014, Godot had been developed by Juan Linietsky and Ariel Manzur (both still maintaining the project) for several years as an in-house engine, used to publish several work-for-hire titles.

Getting the engine

Binary downloads

Official binaries for the Godot editor and the export templates can be found on the homepage.

Compiling from source

See the official docs for compilation instructions for every supported platform.

Community

Godot is not only an engine but an ever-growing community of users and engine developers. The main community channels are listed on the homepage.

To get in touch with the developers, the best way is to join the #godotengine IRC channel on Freenode.

Documentation and demos

The official documentation is hosted on ReadTheDocs. It is maintained by the Godot community in its own GitHub repository.

The class reference is also accessible from within the engine.

The official demos are maintained in their own GitHub repository as well.

There are also a number of other learning resources provided by the community, such as text and video tutorials, demos, etc. Consult the community channels for more info.

Build Status Code Triagers Badge