- Sep 10, 2015
-
-
Felix Lange authored
-
Felix Lange authored
These functions allow destructuring of raw rlp-encoded bytes without the overhead of reflection or copying.
-
- Aug 13, 2015
-
-
Péter Szilágyi authored
-
- Jul 23, 2015
-
-
Felix Lange authored
I forgot to update one instance of "go-ethereum" in commit 3f047be5.
-
- Jul 22, 2015
-
-
Felix Lange authored
All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
-
- Jul 18, 2015
-
-
Felix Lange authored
Decoding did not reject byte arrays of length one with a single element b where 55 < b < 128. Such byte arrays must be rejected because they must be encoded as the single byte b instead.
-
- Jul 07, 2015
-
-
Felix Lange authored
-
- Apr 28, 2015
-
-
Felix Lange authored
The list size checking overflowed if the size information for a value was bigger than the list. This is resolved by always performing the check before reading.
-
- Apr 17, 2015
-
-
Felix Lange authored
-
Felix Lange authored
-
Felix Lange authored
The rules have changed as follows: * When decoding into pointers, empty values no longer produce a nil pointer. This can be overriden for struct fields using the struct tag "nil". * When decoding into structs, the input list must contain an element for each field.
-
Felix Lange authored
Input strings of length 1 containing a byte < 56 are non-minimal and should be encoded as a single byte instead. Reject such strings.
-
Felix Lange authored
All integers (including size information in type tags) need to be encoded using the smallest possible encoding. This commit expands the stricter validation introduced for *big.Int in commit 59597d23 to all integer types and size tags.
-
Felix Lange authored
A single zero byte carries information and should not set the pointer to nil. This is arguably a corner case. While here, fix the comment to explain pointer reuse.
-
Felix Lange authored
It is not safe to add anything to s.size.
-
Felix Lange authored
This is a preliminary fix for #420 (SEC-18 RLP decoder unsafe allocation). If a sane input limit is set on the rlp.Stream, it should no longer be possible to cause huge []byte allocations.
-
- Apr 04, 2015
-
-
Jeffrey Wilcke authored
-
- Mar 20, 2015
-
-
Felix Lange authored
-
Felix Lange authored
The generic pointer decoder did not advance the input position for empty values. This can lead to strange issues and even infinite loops.
-
- Jan 15, 2015
-
-
Felix Lange authored
This needs to be supported because []someInterface does occur sometimes. Funny enough, the fix involves changes to the decoder. makeDecoder cannot return an error for non-empty interfaces anymore because the type cache builds both decoder and writer. Do the check at 'runtime' instead.
-
Felix Lange authored
-
Felix Lange authored
I'm reasonably confident that the encoding matches the output of ethutil.Encode for values that it supports. Some of the tests have been adpated from the Ethereum testing repository. There are still TODOs in the code.
-
- Jan 05, 2015
-
-
Jeffrey Wilcke authored
-
- Dec 09, 2014
-
-
Felix Lange authored
Decode error messages now say "expected input list for foo.MyStruct" instead of just "expected List".
-
Felix Lange authored
There is no agreement on how to encode negative integers across implementations. cpp-ethereum doesn't support them either.
-
- Nov 25, 2014
-
-
Felix Lange authored
-
- Nov 24, 2014
-
-
Felix Lange authored
-
Felix Lange authored
-
- Nov 17, 2014
-
-
Felix Lange authored
-
Felix Lange authored
-