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
0a5450fe
Commit
0a5450fe
authored
Jan 08, 2017
by
Valentin Wüstholz
Committed by
Felix Lange
Jan 08, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cmd/disasm: fix array-out-of-bounds error (#3491)
parent
17182732
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
4 deletions
+8
-4
main.go
cmd/disasm/main.go
+8
-4
No files found.
cmd/disasm/main.go
View file @
0a5450fe
...
@@ -42,15 +42,19 @@ func main() {
...
@@ -42,15 +42,19 @@ func main() {
for
pc
:=
uint64
(
0
);
pc
<
uint64
(
len
(
code
));
pc
++
{
for
pc
:=
uint64
(
0
);
pc
<
uint64
(
len
(
code
));
pc
++
{
op
:=
vm
.
OpCode
(
code
[
pc
])
op
:=
vm
.
OpCode
(
code
[
pc
])
fmt
.
Printf
(
"%-5d %v"
,
pc
,
op
)
switch
op
{
switch
op
{
case
vm
.
PUSH1
,
vm
.
PUSH2
,
vm
.
PUSH3
,
vm
.
PUSH4
,
vm
.
PUSH5
,
vm
.
PUSH6
,
vm
.
PUSH7
,
vm
.
PUSH8
,
vm
.
PUSH9
,
vm
.
PUSH10
,
vm
.
PUSH11
,
vm
.
PUSH12
,
vm
.
PUSH13
,
vm
.
PUSH14
,
vm
.
PUSH15
,
vm
.
PUSH16
,
vm
.
PUSH17
,
vm
.
PUSH18
,
vm
.
PUSH19
,
vm
.
PUSH20
,
vm
.
PUSH21
,
vm
.
PUSH22
,
vm
.
PUSH23
,
vm
.
PUSH24
,
vm
.
PUSH25
,
vm
.
PUSH26
,
vm
.
PUSH27
,
vm
.
PUSH28
,
vm
.
PUSH29
,
vm
.
PUSH30
,
vm
.
PUSH31
,
vm
.
PUSH32
:
case
vm
.
PUSH1
,
vm
.
PUSH2
,
vm
.
PUSH3
,
vm
.
PUSH4
,
vm
.
PUSH5
,
vm
.
PUSH6
,
vm
.
PUSH7
,
vm
.
PUSH8
,
vm
.
PUSH9
,
vm
.
PUSH10
,
vm
.
PUSH11
,
vm
.
PUSH12
,
vm
.
PUSH13
,
vm
.
PUSH14
,
vm
.
PUSH15
,
vm
.
PUSH16
,
vm
.
PUSH17
,
vm
.
PUSH18
,
vm
.
PUSH19
,
vm
.
PUSH20
,
vm
.
PUSH21
,
vm
.
PUSH22
,
vm
.
PUSH23
,
vm
.
PUSH24
,
vm
.
PUSH25
,
vm
.
PUSH26
,
vm
.
PUSH27
,
vm
.
PUSH28
,
vm
.
PUSH29
,
vm
.
PUSH30
,
vm
.
PUSH31
,
vm
.
PUSH32
:
a
:=
uint64
(
op
)
-
uint64
(
vm
.
PUSH1
)
+
1
a
:=
uint64
(
op
)
-
uint64
(
vm
.
PUSH1
)
+
1
fmt
.
Printf
(
" => %x"
,
code
[
pc
+
1
:
pc
+
1
+
a
])
u
:=
pc
+
1
+
a
if
uint64
(
len
(
code
))
<=
pc
||
uint64
(
len
(
code
))
<
u
{
fmt
.
Printf
(
"Error: incomplete push instruction at %v
\n
"
,
pc
)
return
}
fmt
.
Printf
(
"%-5d %v => %x
\n
"
,
pc
,
op
,
code
[
pc
+
1
:
u
])
pc
+=
a
pc
+=
a
default
:
fmt
.
Printf
(
"%-5d %v
\n
"
,
pc
,
op
)
}
}
fmt
.
Println
()
}
}
}
}
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