FlatBuffers: Memory Efficient Serialization Library
Go to file
Wouter van Oortmerssen 8b92122f33 Made the verifier catch zero-offsets.
Zero offsets are non-sensical in FlatBuffers (since offsets are
relative to themselves) but were allowed by the verifier. This could
cause buffers made up of all zeroes to be interpreted as correct
buffers with an empty root object.

Generally, not allowing such offsets will make the verifier more
likely to catch problems earlier.

Change-Id: I54010bea29721b326ff8e5348fcd9fe78e5e7506
Tested: on Linux.
2017-04-26 14:26:18 -07:00
.github Added PULL_REQUEST_TEMPLATE.md 2017-02-08 10:15:26 -08:00
CMake Debianization with CPack 2016-08-25 00:00:22 +03:00
android Fixed the Android build. 2017-02-08 15:13:57 -08:00
biicode Made .sh files all have same comment formatting. 2016-05-23 14:08:21 -07:00
docs Added support for structs and strings in unions. 2017-04-12 17:47:47 -07:00
go Reword comment so that code editors can mark deprecation correctly (#4147) 2017-01-23 13:40:50 -08:00
grpc Fix compiler warning on Visual Studio. 2017-01-18 16:09:35 -08:00
include/flatbuffers Made the verifier catch zero-offsets. 2017-04-26 14:26:18 -07:00
java/com/google/flatbuffers Added a clear function for purging all data that is holded by the FlatBuffer. (#4259) 2017-04-19 17:06:33 -07:00
js Undo PR: make flatbuffers.js into a UMD module (#4228) 2017-04-17 17:31:03 -07:00
net/FlatBuffers Added IFlatbufferObject.cs file to project for .net. 2016-09-19 16:16:15 +09:00
php [PHP] Use mb_detect_encoding when available (#3952) 2016-11-16 09:54:57 -08:00
python Added missing licenses to some sh/cs/py files. 2016-05-23 09:51:41 -07:00
reflection Added support for structs and strings in unions. 2017-04-12 17:47:47 -07:00
samples Made the verifier catch zero-offsets. 2017-04-26 14:26:18 -07:00
src Made the verifier catch zero-offsets. 2017-04-26 14:26:18 -07:00
tests Made the verifier catch zero-offsets. 2017-04-26 14:26:18 -07:00
.gitattributes Initial commit of the FlatBuffers code. 2014-06-10 13:53:28 -07:00
.gitignore TS tests fixes (#4265) 2017-04-21 09:29:42 -07:00
.travis.yml Disabled broken biicode builds on Travis for the moment. 2016-02-22 11:33:14 -08:00
CMakeLists.txt Fixes for VS 2015 build. 2017-04-24 10:48:35 -07:00
CONTRIBUTING.md Fixed link to Google C++ Style Guide. 2017-02-08 16:37:25 -08:00
LICENSE.txt Fix Visual Studio 2012 build warning. 2015-09-11 14:35:34 -07:00
appveyor.yml Added VS 2015 test to AppVeyor CI. 2017-04-24 10:06:55 -07:00
biicode.conf added .travis.yml file (build with original and biicode building); 2015-04-15 13:43:25 -07:00
composer.json (PHP) add experimental support for PHP language. 2015-11-18 00:26:39 +09:00
package.json Updated version numbers to 1.6 2017-02-15 14:36:51 -08:00
pom.xml Updated version numbers to 1.6 2017-02-15 14:36:51 -08:00
readme.md Update StackOverflow links to have relevant queries. 2017-03-29 11:58:42 -07:00

readme.md

logo FlatBuffers

Join the chat at https://gitter.im/google/flatbuffers Build Status Build status

FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps. It allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility.

Go to our landing page to browse our documentation.

Supported operating systems

  • Android
  • Windows
  • MacOS X
  • Linux

Supported programming languages

  • C++
  • C#
  • C
  • Go
  • Java
  • JavaScript
  • PHP
  • Python

and many more in progress...

Contribution

To contribute to this project, see CONTRIBUTING.

Integration

For applications on Google Play that integrate this tool, usage is tracked. This tracking is done automatically using the embedded version string (flatbuffer_version_string), and helps us continue to optimize it. Aside from consuming a few extra bytes in your application binary, it shouldn't affect your application at all. We use this information to let us know if FlatBuffers is useful and if we should continue to invest in it. Since this is open source, you are free to remove the version string but we would appreciate if you would leave it in.

Licensing

Flatbuffers is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.