Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
f4af638d
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看板
提交
f4af638d
编写于
4月 08, 2011
作者:
D
dcherepanov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7003962: AWT: securely load DLLs and launch executables using fully qualified path
Reviewed-by: art, bae, alanb
上级
8b25a59f
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
23 addition
and
22 deletion
+23
-22
src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp
src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp
+1
-1
src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+1
-1
src/windows/native/sun/windows/DllUtil.cpp
src/windows/native/sun/windows/DllUtil.cpp
+3
-2
src/windows/native/sun/windows/DllUtil.h
src/windows/native/sun/windows/DllUtil.h
+2
-2
src/windows/native/sun/windows/ShellFolder2.cpp
src/windows/native/sun/windows/ShellFolder2.cpp
+5
-4
src/windows/native/sun/windows/ThemeReader.cpp
src/windows/native/sun/windows/ThemeReader.cpp
+1
-1
src/windows/native/sun/windows/awt_Mlib.cpp
src/windows/native/sun/windows/awt_Mlib.cpp
+6
-8
src/windows/native/sun/windows/awt_TextArea.cpp
src/windows/native/sun/windows/awt_TextArea.cpp
+1
-1
src/windows/native/sun/windows/awt_TrayIcon.cpp
src/windows/native/sun/windows/awt_TrayIcon.cpp
+1
-1
src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp
src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp
+1
-1
src/windows/native/sun/windows/stdhdrs.h
src/windows/native/sun/windows/stdhdrs.h
+1
-0
未找到文件。
src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp
浏览文件 @
f4af638d
...
@@ -117,7 +117,7 @@ HRESULT D3DPipelineManager::InitD3D(void)
...
@@ -117,7 +117,7 @@ HRESULT D3DPipelineManager::InitD3D(void)
{
{
typedef
IDirect3D9
*
WINAPI
FnDirect3DCreate9
(
UINT
SDKVersion
);
typedef
IDirect3D9
*
WINAPI
FnDirect3DCreate9
(
UINT
SDKVersion
);
hLibD3D9
=
::
LoadLibrary
(
TEXT
(
"d3d9.dll"
)
);
hLibD3D9
=
JDK_LoadSystemLibrary
(
"d3d9.dll"
);
if
(
hLibD3D9
==
NULL
)
{
if
(
hLibD3D9
==
NULL
)
{
J2dRlsTraceLn
(
J2D_TRACE_ERROR
,
"InitD3D: no d3d9.dll"
);
J2dRlsTraceLn
(
J2D_TRACE_ERROR
,
"InitD3D: no d3d9.dll"
);
return
E_FAIL
;
return
E_FAIL
;
...
...
src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
浏览文件 @
f4af638d
...
@@ -60,7 +60,7 @@ typedef const char *(GLAPIENTRY *wglGetExtensionsStringARBType)(HDC hdc);
...
@@ -60,7 +60,7 @@ typedef const char *(GLAPIENTRY *wglGetExtensionsStringARBType)(HDC hdc);
#define OGL_LIB_IS_UNINITIALIZED() \
#define OGL_LIB_IS_UNINITIALIZED() \
(OGL_LIB_HANDLE == 0)
(OGL_LIB_HANDLE == 0)
#define OGL_OPEN_LIB() \
#define OGL_OPEN_LIB() \
OGL_LIB_HANDLE =
LoadLibrary(L
"opengl32.dll")
OGL_LIB_HANDLE =
JDK_LoadSystemLibrary(
"opengl32.dll")
#define OGL_CLOSE_LIB() \
#define OGL_CLOSE_LIB() \
FreeLibrary(OGL_LIB_HANDLE)
FreeLibrary(OGL_LIB_HANDLE)
#define OGL_GET_PROC_ADDRESS(f) \
#define OGL_GET_PROC_ADDRESS(f) \
...
...
src/windows/native/sun/windows/DllUtil.cpp
浏览文件 @
f4af638d
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
#include "DllUtil.h"
#include "DllUtil.h"
#include <jdk_util_md.h>
// Disable warning about using this in the initializer list.
// Disable warning about using this in the initializer list.
#pragma warning( disable : 4355)
#pragma warning( disable : 4355)
...
@@ -40,7 +41,7 @@ DllUtil::~DllUtil()
...
@@ -40,7 +41,7 @@ DllUtil::~DllUtil()
HMODULE
DllUtil
::
GetModule
()
HMODULE
DllUtil
::
GetModule
()
{
{
if
(
!
module
)
{
if
(
!
module
)
{
module
=
::
Load
Library
(
name
);
module
=
JDK_LoadSystem
Library
(
name
);
}
}
return
module
;
return
module
;
}
}
...
@@ -60,7 +61,7 @@ DwmAPI & DwmAPI::GetInstance()
...
@@ -60,7 +61,7 @@ DwmAPI & DwmAPI::GetInstance()
}
}
DwmAPI
::
DwmAPI
()
:
DwmAPI
::
DwmAPI
()
:
DllUtil
(
_T
(
"DWMAPI.DLL"
)
),
DllUtil
(
"DWMAPI.DLL"
),
DwmIsCompositionEnabledFunction
((
DllUtil
*
)
this
,
"DwmIsCompositionEnabled"
),
DwmIsCompositionEnabledFunction
((
DllUtil
*
)
this
,
"DwmIsCompositionEnabled"
),
DwmGetWindowAttributeFunction
((
DllUtil
*
)
this
,
"DwmGetWindowAttribute"
)
DwmGetWindowAttributeFunction
((
DllUtil
*
)
this
,
"DwmGetWindowAttribute"
)
{
{
...
...
src/windows/native/sun/windows/DllUtil.h
浏览文件 @
f4af638d
...
@@ -43,7 +43,7 @@ class DllUtil {
...
@@ -43,7 +43,7 @@ class DllUtil {
FARPROC
GetProcAddress
(
LPCSTR
name
);
FARPROC
GetProcAddress
(
LPCSTR
name
);
protected:
protected:
DllUtil
(
const
TCHAR
*
name
)
:
name
(
name
),
module
(
NULL
)
{}
DllUtil
(
const
char
*
name
)
:
name
(
name
),
module
(
NULL
)
{}
virtual
~
DllUtil
();
virtual
~
DllUtil
();
HMODULE
GetModule
();
HMODULE
GetModule
();
...
@@ -68,7 +68,7 @@ class DllUtil {
...
@@ -68,7 +68,7 @@ class DllUtil {
};
};
private:
private:
const
TCHAR
*
const
name
;
const
char
*
const
name
;
HMODULE
module
;
HMODULE
module
;
};
};
...
...
src/windows/native/sun/windows/ShellFolder2.cpp
浏览文件 @
f4af638d
...
@@ -120,15 +120,15 @@ static BOOL initShellProcs()
...
@@ -120,15 +120,15 @@ static BOOL initShellProcs()
return
TRUE
;
return
TRUE
;
}
}
// Load libraries
// Load libraries
libShell32
=
LoadLibrary
(
TEXT
(
"shell32.dll"
)
);
libShell32
=
JDK_LoadSystemLibrary
(
"shell32.dll"
);
if
(
libShell32
==
NULL
)
{
if
(
libShell32
==
NULL
)
{
return
FALSE
;
return
FALSE
;
}
}
libUser32
=
LoadLibrary
(
TEXT
(
"user32.dll"
)
);
libUser32
=
JDK_LoadSystemLibrary
(
"user32.dll"
);
if
(
libUser32
==
NULL
)
{
if
(
libUser32
==
NULL
)
{
return
FALSE
;
return
FALSE
;
}
}
libComCtl32
=
LoadLibrary
(
TEXT
(
"comctl32.dll"
)
);
libComCtl32
=
JDK_LoadSystemLibrary
(
"comctl32.dll"
);
if
(
libComCtl32
==
NULL
)
{
if
(
libComCtl32
==
NULL
)
{
return
FALSE
;
return
FALSE
;
}
}
...
@@ -1021,7 +1021,8 @@ JNIEXPORT jlong JNICALL Java_sun_awt_shell_Win32ShellFolder2_getIconResource
...
@@ -1021,7 +1021,8 @@ JNIEXPORT jlong JNICALL Java_sun_awt_shell_Win32ShellFolder2_getIconResource
(
JNIEnv
*
env
,
jclass
cls
,
jstring
libName
,
jint
iconID
,
(
JNIEnv
*
env
,
jclass
cls
,
jstring
libName
,
jint
iconID
,
jint
cxDesired
,
jint
cyDesired
,
jboolean
useVGAColors
)
jint
cxDesired
,
jint
cyDesired
,
jboolean
useVGAColors
)
{
{
HINSTANCE
libHandle
=
LoadLibrary
(
JNU_GetStringPlatformChars
(
env
,
libName
,
NULL
));
const
char
*
pLibName
=
env
->
GetStringUTFChars
(
libName
,
NULL
);
HINSTANCE
libHandle
=
(
HINSTANCE
)
JDK_LoadSystemLibrary
(
pLibName
);
if
(
libHandle
!=
NULL
)
{
if
(
libHandle
!=
NULL
)
{
UINT
fuLoad
=
(
useVGAColors
&&
!
IS_WINXP
)
?
LR_VGACOLOR
:
0
;
UINT
fuLoad
=
(
useVGAColors
&&
!
IS_WINXP
)
?
LR_VGACOLOR
:
0
;
return
ptr_to_jlong
(
LoadImage
(
libHandle
,
MAKEINTRESOURCE
(
iconID
),
return
ptr_to_jlong
(
LoadImage
(
libHandle
,
MAKEINTRESOURCE
(
iconID
),
...
...
src/windows/native/sun/windows/ThemeReader.cpp
浏览文件 @
f4af638d
...
@@ -150,7 +150,7 @@ static PFNGETTHEMETRANSITIONDURATION GetThemeTransitionDuration = NULL;
...
@@ -150,7 +150,7 @@ static PFNGETTHEMETRANSITIONDURATION GetThemeTransitionDuration = NULL;
BOOL
InitThemes
()
{
BOOL
InitThemes
()
{
static
HMODULE
hModThemes
=
NULL
;
static
HMODULE
hModThemes
=
NULL
;
hModThemes
=
LoadLibrary
(
TEXT
(
"UXTHEME.DLL"
)
);
hModThemes
=
JDK_LoadSystemLibrary
(
"UXTHEME.DLL"
);
DTRACE_PRINTLN1
(
"InitThemes hModThemes = %x
\n
"
,
hModThemes
);
DTRACE_PRINTLN1
(
"InitThemes hModThemes = %x
\n
"
,
hModThemes
);
if
(
hModThemes
)
{
if
(
hModThemes
)
{
DTRACE_PRINTLN
(
"Loaded UxTheme.dll
\n
"
);
DTRACE_PRINTLN
(
"Loaded UxTheme.dll
\n
"
);
...
...
src/windows/native/sun/windows/awt_Mlib.cpp
浏览文件 @
f4af638d
...
@@ -43,12 +43,13 @@ extern "C"
...
@@ -43,12 +43,13 @@ extern "C"
mlibSysFnS_t
tempSysFns
;
mlibSysFnS_t
tempSysFns
;
mlib_status
ret
=
MLIB_SUCCESS
;
mlib_status
ret
=
MLIB_SUCCESS
;
/* Try to load library. Routine should find the library successfully
/* Try to receive handle for the library. Routine should find
* because this library is already loaded to the process space by
* the library successfully because this library is already
* the System.loadLibrary() call. Here we just need to get handle to
* loaded to the process space by the System.loadLibrary() call.
* initialize the pointers to required mlib routines.
* Here we just need to get handle to initialize the pointers to
* required mlib routines.
*/
*/
hDLL
=
::
LoadLibrary
(
TEXT
(
"mlib_image.dll"
));
hDLL
=
::
GetModuleHandle
(
TEXT
(
"mlib_image.dll"
));
if
(
hDLL
==
NULL
)
{
if
(
hDLL
==
NULL
)
{
return
MLIB_FAILURE
;
return
MLIB_FAILURE
;
...
@@ -94,9 +95,6 @@ extern "C"
...
@@ -94,9 +95,6 @@ extern "C"
i
++
;
i
++
;
}
}
if
(
ret
!=
MLIB_SUCCESS
)
{
::
FreeLibrary
(
hDLL
);
}
return
ret
;
return
ret
;
}
}
...
...
src/windows/native/sun/windows/awt_TextArea.cpp
浏览文件 @
f4af638d
...
@@ -77,7 +77,7 @@ void AwtTextArea::Dispose()
...
@@ -77,7 +77,7 @@ void AwtTextArea::Dispose()
LPCTSTR
AwtTextArea
::
GetClassName
()
{
LPCTSTR
AwtTextArea
::
GetClassName
()
{
static
BOOL
richedLibraryLoaded
=
FALSE
;
static
BOOL
richedLibraryLoaded
=
FALSE
;
if
(
!
richedLibraryLoaded
)
{
if
(
!
richedLibraryLoaded
)
{
::
LoadLibrary
(
TEXT
(
"RICHED20.DLL"
)
);
JDK_LoadSystemLibrary
(
"RICHED20.DLL"
);
richedLibraryLoaded
=
TRUE
;
richedLibraryLoaded
=
TRUE
;
}
}
return
RICHEDIT_CLASS
;
return
RICHEDIT_CLASS
;
...
...
src/windows/native/sun/windows/awt_TrayIcon.cpp
浏览文件 @
f4af638d
...
@@ -185,7 +185,7 @@ void AwtTrayIcon::InitNID(UINT uID)
...
@@ -185,7 +185,7 @@ void AwtTrayIcon::InitNID(UINT uID)
int
shellVersion
=
5
;
// WIN_2000
int
shellVersion
=
5
;
// WIN_2000
// MSDN: DllGetVersion should not be implicitly called, but rather
// MSDN: DllGetVersion should not be implicitly called, but rather
// loaded using GetProcAddress
// loaded using GetProcAddress
HMODULE
hShell
=
LoadLibrary
(
TEXT
(
"Shell32.dll"
)
);
HMODULE
hShell
=
JDK_LoadSystemLibrary
(
"Shell32.dll"
);
if
(
hShell
!=
NULL
)
{
if
(
hShell
!=
NULL
)
{
DLLGETVERSIONPROC
proc
=
(
DLLGETVERSIONPROC
)
GetProcAddress
(
hShell
,
"DllGetVersion"
);
DLLGETVERSIONPROC
proc
=
(
DLLGETVERSIONPROC
)
GetProcAddress
(
hShell
,
"DllGetVersion"
);
if
(
proc
!=
NULL
)
{
if
(
proc
!=
NULL
)
{
...
...
src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp
浏览文件 @
f4af638d
...
@@ -63,7 +63,7 @@ SetProcessDPIAwareProperty()
...
@@ -63,7 +63,7 @@ SetProcessDPIAwareProperty()
bAlreadySet
=
TRUE
;
bAlreadySet
=
TRUE
;
HMODULE
hLibUser32Dll
=
::
LoadLibrary
(
TEXT
(
"user32.dll"
)
);
HMODULE
hLibUser32Dll
=
JDK_LoadSystemLibrary
(
"user32.dll"
);
if
(
hLibUser32Dll
!=
NULL
)
{
if
(
hLibUser32Dll
!=
NULL
)
{
SetProcessDPIAwareFunc
*
lpSetProcessDPIAware
=
SetProcessDPIAwareFunc
*
lpSetProcessDPIAware
=
...
...
src/windows/native/sun/windows/stdhdrs.h
浏览文件 @
f4af638d
...
@@ -47,6 +47,7 @@ extern "C" {
...
@@ -47,6 +47,7 @@ extern "C" {
// standard Java headers
// standard Java headers
#include <jni.h>
#include <jni.h>
#include <jni_util.h>
#include <jni_util.h>
#include <jdk_util.h>
}
// extern "C"
}
// extern "C"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录