Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
b99e8615
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
b99e8615
编写于
11月 20, 2012
作者:
J
jzavgren
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8000476: Memory Leaks and uninitialized memory access in PKCS11 and other native code
Reviewed-by: dsamersoff, valeriep, chegar
上级
bb886d1e
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
32 addition
and
7 deletion
+32
-7
src/share/bin/wildcard.c
src/share/bin/wildcard.c
+5
-0
src/share/native/sun/security/jgss/wrapper/GSSLibStub.c
src/share/native/sun/security/jgss/wrapper/GSSLibStub.c
+1
-1
src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c
src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c
+24
-6
src/solaris/bin/java_md_solinux.c
src/solaris/bin/java_md_solinux.c
+2
-0
未找到文件。
src/share/bin/wildcard.c
浏览文件 @
b99e8615
...
@@ -356,8 +356,13 @@ wildcardFileList(const char *wildcard)
...
@@ -356,8 +356,13 @@ wildcardFileList(const char *wildcard)
const
char
*
basename
;
const
char
*
basename
;
FileList
fl
=
FileList_new
(
16
);
FileList
fl
=
FileList_new
(
16
);
WildcardIterator
it
=
WildcardIterator_for
(
wildcard
);
WildcardIterator
it
=
WildcardIterator_for
(
wildcard
);
if
(
it
==
NULL
)
if
(
it
==
NULL
)
{
FileList_free
(
fl
);
return
NULL
;
return
NULL
;
}
while
((
basename
=
WildcardIterator_next
(
it
))
!=
NULL
)
while
((
basename
=
WildcardIterator_next
(
it
))
!=
NULL
)
if
(
isJarFileName
(
basename
))
if
(
isJarFileName
(
basename
))
FileList_add
(
fl
,
wildcardConcat
(
wildcard
,
basename
));
FileList_add
(
fl
,
wildcardConcat
(
wildcard
,
basename
));
...
...
src/share/native/sun/security/jgss/wrapper/GSSLibStub.c
浏览文件 @
b99e8615
...
@@ -571,7 +571,7 @@ Java_sun_security_jgss_wrapper_GSSLibStub_releaseCred(JNIEnv *env,
...
@@ -571,7 +571,7 @@ Java_sun_security_jgss_wrapper_GSSLibStub_releaseCred(JNIEnv *env,
*/
*/
void
inquireCred
(
JNIEnv
*
env
,
jobject
jobj
,
gss_cred_id_t
pCred
,
void
inquireCred
(
JNIEnv
*
env
,
jobject
jobj
,
gss_cred_id_t
pCred
,
jint
type
,
void
*
result
)
{
jint
type
,
void
*
result
)
{
OM_uint32
minor
,
major
=
GSS_C_QOP_DEFAULT
;
OM_uint32
minor
,
major
=
0
;
OM_uint32
routineErr
;
OM_uint32
routineErr
;
gss_cred_id_t
credHdl
;
gss_cred_id_t
credHdl
;
...
...
src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c
浏览文件 @
b99e8615
...
@@ -112,22 +112,34 @@ CK_C_INITIALIZE_ARGS_PTR makeCKInitArgsAdapter(JNIEnv *env, jobject jInitArgs)
...
@@ -112,22 +112,34 @@ CK_C_INITIALIZE_ARGS_PTR makeCKInitArgsAdapter(JNIEnv *env, jobject jInitArgs)
ckpInitArgs
->
UnlockMutex
=
NULL_PTR
;
ckpInitArgs
->
UnlockMutex
=
NULL_PTR
;
#else
#else
fieldID
=
(
*
env
)
->
GetFieldID
(
env
,
jInitArgsClass
,
"CreateMutex"
,
"Lsun/security/pkcs11/wrapper/CK_CREATEMUTEX;"
);
fieldID
=
(
*
env
)
->
GetFieldID
(
env
,
jInitArgsClass
,
"CreateMutex"
,
"Lsun/security/pkcs11/wrapper/CK_CREATEMUTEX;"
);
if
(
fieldID
==
NULL
)
{
return
NULL
;
}
if
(
fieldID
==
NULL
)
{
free
(
ckpInitArgs
);
return
NULL
;
}
jMutexHandler
=
(
*
env
)
->
GetObjectField
(
env
,
jInitArgs
,
fieldID
);
jMutexHandler
=
(
*
env
)
->
GetObjectField
(
env
,
jInitArgs
,
fieldID
);
ckpInitArgs
->
CreateMutex
=
(
jMutexHandler
!=
NULL
)
?
&
callJCreateMutex
:
NULL_PTR
;
ckpInitArgs
->
CreateMutex
=
(
jMutexHandler
!=
NULL
)
?
&
callJCreateMutex
:
NULL_PTR
;
fieldID
=
(
*
env
)
->
GetFieldID
(
env
,
jInitArgsClass
,
"DestroyMutex"
,
"Lsun/security/pkcs11/wrapper/CK_DESTROYMUTEX;"
);
fieldID
=
(
*
env
)
->
GetFieldID
(
env
,
jInitArgsClass
,
"DestroyMutex"
,
"Lsun/security/pkcs11/wrapper/CK_DESTROYMUTEX;"
);
if
(
fieldID
==
NULL
)
{
return
NULL
;
}
if
(
fieldID
==
NULL
)
{
free
(
ckpInitArgs
);
return
NULL
;
}
jMutexHandler
=
(
*
env
)
->
GetObjectField
(
env
,
jInitArgs
,
fieldID
);
jMutexHandler
=
(
*
env
)
->
GetObjectField
(
env
,
jInitArgs
,
fieldID
);
ckpInitArgs
->
DestroyMutex
=
(
jMutexHandler
!=
NULL
)
?
&
callJDestroyMutex
:
NULL_PTR
;
ckpInitArgs
->
DestroyMutex
=
(
jMutexHandler
!=
NULL
)
?
&
callJDestroyMutex
:
NULL_PTR
;
fieldID
=
(
*
env
)
->
GetFieldID
(
env
,
jInitArgsClass
,
"LockMutex"
,
"Lsun/security/pkcs11/wrapper/CK_LOCKMUTEX;"
);
fieldID
=
(
*
env
)
->
GetFieldID
(
env
,
jInitArgsClass
,
"LockMutex"
,
"Lsun/security/pkcs11/wrapper/CK_LOCKMUTEX;"
);
if
(
fieldID
==
NULL
)
{
return
NULL
;
}
if
(
fieldID
==
NULL
)
{
free
(
ckpInitArgs
);
return
NULL
;
}
jMutexHandler
=
(
*
env
)
->
GetObjectField
(
env
,
jInitArgs
,
fieldID
);
jMutexHandler
=
(
*
env
)
->
GetObjectField
(
env
,
jInitArgs
,
fieldID
);
ckpInitArgs
->
LockMutex
=
(
jMutexHandler
!=
NULL
)
?
&
callJLockMutex
:
NULL_PTR
;
ckpInitArgs
->
LockMutex
=
(
jMutexHandler
!=
NULL
)
?
&
callJLockMutex
:
NULL_PTR
;
fieldID
=
(
*
env
)
->
GetFieldID
(
env
,
jInitArgsClass
,
"UnlockMutex"
,
"Lsun/security/pkcs11/wrapper/CK_UNLOCKMUTEX;"
);
fieldID
=
(
*
env
)
->
GetFieldID
(
env
,
jInitArgsClass
,
"UnlockMutex"
,
"Lsun/security/pkcs11/wrapper/CK_UNLOCKMUTEX;"
);
if
(
fieldID
==
NULL
)
{
return
NULL
;
}
if
(
fieldID
==
NULL
)
{
free
(
ckpInitArgs
);
return
NULL
;
}
jMutexHandler
=
(
*
env
)
->
GetObjectField
(
env
,
jInitArgs
,
fieldID
);
jMutexHandler
=
(
*
env
)
->
GetObjectField
(
env
,
jInitArgs
,
fieldID
);
ckpInitArgs
->
UnlockMutex
=
(
jMutexHandler
!=
NULL
)
?
&
callJUnlockMutex
:
NULL_PTR
;
ckpInitArgs
->
UnlockMutex
=
(
jMutexHandler
!=
NULL
)
?
&
callJUnlockMutex
:
NULL_PTR
;
...
@@ -151,13 +163,19 @@ CK_C_INITIALIZE_ARGS_PTR makeCKInitArgsAdapter(JNIEnv *env, jobject jInitArgs)
...
@@ -151,13 +163,19 @@ CK_C_INITIALIZE_ARGS_PTR makeCKInitArgsAdapter(JNIEnv *env, jobject jInitArgs)
/* convert and set the flags field */
/* convert and set the flags field */
fieldID
=
(
*
env
)
->
GetFieldID
(
env
,
jInitArgsClass
,
"flags"
,
"J"
);
fieldID
=
(
*
env
)
->
GetFieldID
(
env
,
jInitArgsClass
,
"flags"
,
"J"
);
if
(
fieldID
==
NULL
)
{
return
NULL
;
}
if
(
fieldID
==
NULL
)
{
free
(
ckpInitArgs
);
return
NULL
;
}
jFlags
=
(
*
env
)
->
GetLongField
(
env
,
jInitArgs
,
fieldID
);
jFlags
=
(
*
env
)
->
GetLongField
(
env
,
jInitArgs
,
fieldID
);
ckpInitArgs
->
flags
=
jLongToCKULong
(
jFlags
);
ckpInitArgs
->
flags
=
jLongToCKULong
(
jFlags
);
/* pReserved should be NULL_PTR in this version */
/* pReserved should be NULL_PTR in this version */
fieldID
=
(
*
env
)
->
GetFieldID
(
env
,
jInitArgsClass
,
"pReserved"
,
"Ljava/lang/Object;"
);
fieldID
=
(
*
env
)
->
GetFieldID
(
env
,
jInitArgsClass
,
"pReserved"
,
"Ljava/lang/Object;"
);
if
(
fieldID
==
NULL
)
{
return
NULL
;
}
if
(
fieldID
==
NULL
)
{
free
(
ckpInitArgs
);
return
NULL
;
}
jReserved
=
(
*
env
)
->
GetObjectField
(
env
,
jInitArgs
,
fieldID
);
jReserved
=
(
*
env
)
->
GetObjectField
(
env
,
jInitArgs
,
fieldID
);
/* we try to convert the reserved parameter also */
/* we try to convert the reserved parameter also */
...
...
src/solaris/bin/java_md_solinux.c
浏览文件 @
b99e8615
...
@@ -478,9 +478,11 @@ CreateExecutionEnvironment(int *pargc, char ***pargv,
...
@@ -478,9 +478,11 @@ CreateExecutionEnvironment(int *pargc, char ***pargv,
JLI_TraceLauncher
(
"mustsetenv: %s
\n
"
,
mustsetenv
?
"TRUE"
:
"FALSE"
);
JLI_TraceLauncher
(
"mustsetenv: %s
\n
"
,
mustsetenv
?
"TRUE"
:
"FALSE"
);
if
(
mustsetenv
==
JNI_FALSE
)
{
if
(
mustsetenv
==
JNI_FALSE
)
{
JLI_MemFree
(
newargv
);
return
;
return
;
}
}
#else
#else
JLI_MemFree
(
newargv
);
return
;
return
;
#endif
/* SETENV_REQUIRED */
#endif
/* SETENV_REQUIRED */
}
else
{
/* do the same speculatively or exit */
}
else
{
/* do the same speculatively or exit */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录