Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
bd0a50fd
Commit
bd0a50fd
authored
Nov 17, 2014
by
Felix Lange
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rlp: fix pointer reuse
parent
74266d5b
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
2 deletions
+10
-2
decode.go
rlp/decode.go
+1
-0
decode_test.go
rlp/decode_test.go
+9
-2
No files found.
rlp/decode.go
View file @
bd0a50fd
...
@@ -309,6 +309,7 @@ func makePtrDecoder(typ reflect.Type) (decoder, error) {
...
@@ -309,6 +309,7 @@ func makePtrDecoder(typ reflect.Type) (decoder, error) {
dec
:=
func
(
s
*
Stream
,
val
reflect
.
Value
)
(
err
error
)
{
dec
:=
func
(
s
*
Stream
,
val
reflect
.
Value
)
(
err
error
)
{
_
,
size
,
err
:=
s
.
Kind
()
_
,
size
,
err
:=
s
.
Kind
()
if
err
!=
nil
||
size
==
0
&&
s
.
byteval
==
0
{
if
err
!=
nil
||
size
==
0
&&
s
.
byteval
==
0
{
val
.
Set
(
reflect
.
Zero
(
typ
))
// set to nil
return
err
return
err
}
}
newval
:=
val
newval
:=
val
...
...
rlp/decode_test.go
View file @
bd0a50fd
...
@@ -176,8 +176,6 @@ type recstruct struct {
...
@@ -176,8 +176,6 @@ type recstruct struct {
Child
*
recstruct
Child
*
recstruct
}
}
var
sharedByteArray
[
5
]
byte
var
(
var
(
veryBigInt
=
big
.
NewInt
(
0
)
.
Add
(
veryBigInt
=
big
.
NewInt
(
0
)
.
Add
(
big
.
NewInt
(
0
)
.
Lsh
(
big
.
NewInt
(
0xFFFFFFFFFFFFFF
),
16
),
big
.
NewInt
(
0
)
.
Lsh
(
big
.
NewInt
(
0xFFFFFFFFFFFFFF
),
16
),
...
@@ -185,6 +183,11 @@ var (
...
@@ -185,6 +183,11 @@ var (
)
)
)
)
var
(
sharedByteArray
[
5
]
byte
sharedPtr
=
new
(
*
int
)
)
var
decodeTests
=
[]
decodeTest
{
var
decodeTests
=
[]
decodeTest
{
// integers
// integers
{
input
:
"05"
,
ptr
:
new
(
uint32
),
value
:
uint32
(
5
)},
{
input
:
"05"
,
ptr
:
new
(
uint32
),
value
:
uint32
(
5
)},
...
@@ -268,6 +271,10 @@ var decodeTests = []decodeTest{
...
@@ -268,6 +271,10 @@ var decodeTests = []decodeTest{
{
input
:
"C109"
,
ptr
:
new
(
*
[]
int
),
value
:
&
[]
int
{
9
}},
{
input
:
"C109"
,
ptr
:
new
(
*
[]
int
),
value
:
&
[]
int
{
9
}},
{
input
:
"C58403030303"
,
ptr
:
new
(
*
[][]
byte
),
value
:
&
[][]
byte
{{
3
,
3
,
3
,
3
}}},
{
input
:
"C58403030303"
,
ptr
:
new
(
*
[][]
byte
),
value
:
&
[][]
byte
{{
3
,
3
,
3
,
3
}}},
// pointer should be reset to nil
{
input
:
"05"
,
ptr
:
sharedPtr
,
value
:
intp
(
5
)},
{
input
:
"80"
,
ptr
:
sharedPtr
,
value
:
(
*
int
)(
nil
)},
// interface{}
// interface{}
{
input
:
"00"
,
ptr
:
new
(
interface
{}),
value
:
[]
byte
{
0
}},
{
input
:
"00"
,
ptr
:
new
(
interface
{}),
value
:
[]
byte
{
0
}},
{
input
:
"01"
,
ptr
:
new
(
interface
{}),
value
:
[]
byte
{
1
}},
{
input
:
"01"
,
ptr
:
new
(
interface
{}),
value
:
[]
byte
{
1
}},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment