Commit graph

247 commits

Author SHA1 Message Date
Martin Dindoffer
89db62ae9a #122 Add bound checks for struct size
Also fix incorrect bounds comparison in SegmentReader
2022-04-09 10:36:07 -04:00
David Renshaw
0eb4abed7a bump to 0.1.14-SNAPSHOT 2021-10-11 11:06:05 -04:00
David Renshaw
3474af3973 prepare for v0.1.13 release 2021-10-11 10:57:32 -04:00
David Renshaw
ab303cbc28 add more robustness to integer wrapping problems 2021-10-08 14:24:22 -04:00
David Renshaw
059252cba5 bump to v0.1.13-SNAPSHOT 2021-10-05 17:17:15 -04:00
David Renshaw
335f56f73b prepare for v0.1.12 release 2021-10-05 17:07:23 -04:00
David Renshaw
57dec34d2c fix bug in short to int conversion in StructPointer 2021-10-05 17:03:57 -04:00
David Renshaw
c1cb55e277 bump to v0.1.12-SNAPSHOST 2021-10-01 22:16:17 -04:00
David Renshaw
2efe917ffc prepare for v0.1.11 release 2021-10-01 22:03:53 -04:00
David Renshaw
8f5f200858 verify that a list pointer has the correct kind 2021-10-01 21:59:52 -04:00
David Renshaw
104fb11104 add bounds checking in readListPointer 2021-10-01 21:59:21 -04:00
David Renshaw
ddd43a491b throw exception on negative segment sizes 2021-10-01 21:56:49 -04:00
David Renshaw
f3e66a6e0b update versions to 0.1.11-SNAPSHOT 2021-08-27 21:23:00 -04:00
David Renshaw
b1a197be75 prepare for 0.1.10 release 2021-08-27 21:13:49 -04:00
paxel
9e114cf26d
made runtime build for JDK8 under all JDKs (8++) (#109)
* Update pom.xml

made runtime build for JDK8 under all JDKs (8++)

* Update runtime/pom.xml

use more-standard syntax

Co-authored-by: David Renshaw <dwrenshaw@gmail.com>
2021-08-18 10:02:33 -04:00
David Renshaw
1966572eca update version numbers to 0.1.10-SNAPSHOT 2021-07-16 11:38:03 -04:00
David Renshaw
80f5b0447a prepare for 0.1.9 release 2021-07-16 11:10:45 -04:00
David Renshaw
b8a5a99ef6
try adding maven.compiler.release flag (#104) 2021-07-14 15:41:56 -04:00
David Renshaw
f98e0fc6ef bump version to 0.1.9-SNAPSHOT 2021-05-31 08:45:24 -04:00
David Renshaw
01cf6c0ebf release v0.1.8 2021-05-31 08:33:52 -04:00
David Renshaw
a55b869305 implement MessageBuilder.unsafeConstructFromMessageReader() 2021-05-24 13:06:42 -04:00
David Renshaw
a078df7e4d add support for directly serializing a MessageReader
Previously, you would need to copy the message into a MessageBuilder first.
2021-05-24 11:49:20 -04:00
David Renshaw
d310db1e88 Prevent potential integer overflow in BuilderArena.allocate(). 2021-05-13 17:49:01 -04:00
David Renshaw
754184fd74 bump version numbers to 0.1.8-SNAPSHOT 2021-05-12 21:00:16 -04:00
David Renshaw
5bf2c368e3 0.1.7 release 2021-05-12 20:57:00 -04:00
David Renshaw
4ec14e39f9 be more careful about integer overflow in Serialize.read()
Previously, we were attempting to read the entire message
in one call to fillBuffer(). This was doomed to fail
if the message had more than Integer.MAX_VALUE bytes.

After this diff, we will call fillBuffer() separately for each
segment. This approach turns out to be simpler, too.
It might imply a small performance hit for messages with
many small segments, but such messages are discouraged anyway.

This diff also adds more overflow checking in the surrounding
logic.
2021-05-12 20:13:52 -04:00
David Renshaw
a6c5240790 bump version numbers to 0.1.7-SNAPSHOT 2021-05-11 21:49:54 -04:00
David Renshaw
ee7e9a0d07 publish 0.1.6 2021-05-11 21:46:25 -04:00
David Renshaw
8dbd5cf25f make new unit test less memory intensive 2021-05-11 21:12:10 -04:00
David Renshaw
eb73990798 fix potential overflow in DefaultAllocator
Fixes a bug where the allocator's `nextSize` variable could overflow
and become negative, causing more segments to be allocated than expected.

Also removes a duplicate `this.nextSize += size` statement that
likely made the problem worse.
2021-05-11 21:07:37 -04:00
David Renshaw
07e47d4104 add some documentation about the new 'no limit' option 2021-05-09 14:53:54 -04:00
Wim Dumon
cc4fa2bbc8 Offer option to disable traversalLimitInWords
Use case: large trusted input data file, mapped in memory by
MappedByteBuffer, which is often re-queried so a sensible
limit cannot be set.
2021-04-28 17:47:58 +02:00
David Renshaw
cf62cd4a58 Fix build on Fedora 33 2020-12-06 20:47:53 -05:00
Vaci Koblizek
91a93734e1 generalise AnyPointer setAs AnyPointer 2020-11-10 11:34:26 +00:00
Vaci Koblizek
f8cdfdea09 set AnyPointer from AnyPointer 2020-11-09 18:02:05 +00:00
dependabot[bot]
9d06495851 Bump junit from 4.12 to 4.13.1 in /runtime
Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-13 18:20:37 -04:00
David Renshaw
880adcfe5e set sourceEncoding to UTF-8 2020-05-13 17:56:01 -04:00
David Renshaw
4cc34896b4 add StructList.newFactory method, allowing type parameters to be inferred 2020-05-12 23:29:16 -04:00
David Renshaw
f98f187538 bump version numbers 2020-05-12 23:03:41 -04:00
David Renshaw
74b645217f configure publishing to the Central Repository, and publish version 0.1.5 2020-05-12 22:41:15 -04:00
David Renshaw
94d15d7720 fix problems found by -Xlink:unchecked 2020-05-12 20:41:36 -04:00
David Renshaw
79ffb37b4c sbt -> maven, scalatest -> junit 2020-05-12 20:17:47 -04:00
David Renshaw
0e99996372 Throw exception on 0-byte read. 2020-05-08 09:09:18 -04:00
Yann Massard
a16a8b517c #78 improve exception handling 2020-04-29 07:42:51 -04:00
David Renshaw
09eec64941 make Allocator public 2019-05-20 18:12:19 -04:00
David Renshaw
1d51317074 update benchmark to use scratch space if requested 2019-05-04 11:09:07 -04:00
David Renshaw
f00f02de77 make DefaultAllocator public and add a default constructor 2019-05-04 10:43:51 -04:00
David Renshaw
755114c1a3 implement scratch space reuse 2019-05-04 10:33:55 -04:00
David Renshaw
3c60400dae make SUGGESTED_FIRST_SEGMENT_WORDS the default 2019-05-04 09:33:09 -04:00
David Renshaw
0ff0cfa338 support custom allocators for builder segments 2019-05-04 09:33:09 -04:00