Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Niefer2010-10-19 13:31:47 -0400
committerAndrew Niefer2010-10-19 13:31:47 -0400
commitc1d300c71dff587ea04dbef936e382d1b82f47c5 (patch)
tree4f19fafb03ef544748b192af0e4cc0dc48096f13
parent919eabdec0184b874f3ce7eb17402272723ae703 (diff)
downloadrt.equinox.framework-c1d300c71dff587ea04dbef936e382d1b82f47c5.tar.gz
rt.equinox.framework-c1d300c71dff587ea04dbef936e382d1b82f47c5.tar.xz
rt.equinox.framework-c1d300c71dff587ea04dbef936e382d1b82f47c5.zip
Bug 325294 - [launcher] DLL hijacking exploit
-rw-r--r--bundles/org.eclipse.equinox.executable/library/eclipse.c6
-rw-r--r--bundles/org.eclipse.equinox.executable/library/eclipseMain.c4
2 files changed, 5 insertions, 5 deletions
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipse.c b/bundles/org.eclipse.equinox.executable/library/eclipse.c
index bec693c48..a657d643a 100644
--- a/bundles/org.eclipse.equinox.executable/library/eclipse.c
+++ b/bundles/org.eclipse.equinox.executable/library/eclipse.c
@@ -1183,7 +1183,7 @@ static _TCHAR* findStartupJar(){
/* startup jar was specified on the command line */
ch = _tcsdup(startupArg);
/* check path will check relative paths against programDir and workingDir */
- file = checkPath(ch, programDir, 0);
+ file = checkPath(ch, programDir, 1);
if(file != ch)
free(ch);
/* check existence */
@@ -1216,7 +1216,7 @@ static _TCHAR* findStartupJar(){
/* old startup.jar? */
ch = OLD_STARTUP;
- file = checkPath(ch, programDir, 0);
+ file = checkPath(ch, programDir, 1);
if (_tstat( file, &stats ) == 0)
return (file == ch) ? _tcsdup(ch) : file;
@@ -1373,7 +1373,7 @@ static int determineVM(_TCHAR** msg) {
vmName[length - 1] = 0;
}
- vmName = checkPath(vmName, programDir, 0);
+ vmName = checkPath(vmName, programDir, 1);
type = checkProvidedVMType(vmName);
switch (type) {
case VM_DIRECTORY:
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseMain.c b/bundles/org.eclipse.equinox.executable/library/eclipseMain.c
index 3e9c13d6a..fe5273072 100644
--- a/bundles/org.eclipse.equinox.executable/library/eclipseMain.c
+++ b/bundles/org.eclipse.equinox.executable/library/eclipseMain.c
@@ -56,7 +56,7 @@ static _TCHAR* checkForIni(int argc, _TCHAR* argv[]);
static int initialArgc;
static _TCHAR** initialArgv;
-_TCHAR* eclipseLibrary; /* path to the eclipse shared library */
+_TCHAR* eclipseLibrary = NULL; /* path to the eclipse shared library */
#ifdef UNICODE
extern int main(int, char**);
@@ -396,7 +396,7 @@ static _TCHAR* findLibrary(_TCHAR* library, _TCHAR* program)
struct _stat stats;
if (library != NULL) {
- path = checkPath(library, programDir, 0);
+ path = checkPath(library, programDir, 1);
if (_tstat(path, &stats) == 0 && (stats.st_mode & S_IFDIR) != 0)
{
/* directory, find the highest version eclipse_* library */

Back to the top