|
From: <ls...@us...> - 2007-09-24 21:57:57
|
Revision: 3527
http://jnode.svn.sourceforge.net/jnode/?rev=3527&view=rev
Author: lsantha
Date: 2007-09-24 14:57:54 -0700 (Mon, 24 Sep 2007)
Log Message:
-----------
Fixed security issues.
Modified Paths:
--------------
trunk/core/src/classpath/ext/javax/isolate/Isolate.java
trunk/core/src/core/org/jnode/vm/isolate/VmIsolate.java
Modified: trunk/core/src/classpath/ext/javax/isolate/Isolate.java
===================================================================
--- trunk/core/src/classpath/ext/javax/isolate/Isolate.java 2007-09-23 21:38:55 UTC (rev 3526)
+++ trunk/core/src/classpath/ext/javax/isolate/Isolate.java 2007-09-24 21:57:54 UTC (rev 3527)
@@ -22,8 +22,10 @@
package javax.isolate;
import java.util.Properties;
+import java.security.AccessController;
import org.jnode.vm.isolate.VmIsolate;
+import gnu.java.security.action.GetPropertiesAction;
/**
* @author Ewout Prangsma (ep...@us...)
@@ -50,7 +52,9 @@
* @param args
*/
public Isolate(String mainClass, String[] args) {
- this(new StreamBindings(), System.getProperties(), mainClass, args);
+ this(new StreamBindings(),
+ (Properties) AccessController.doPrivileged(new GetPropertiesAction()),
+ mainClass, args);
}
/**
Modified: trunk/core/src/core/org/jnode/vm/isolate/VmIsolate.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/isolate/VmIsolate.java 2007-09-23 21:38:55 UTC (rev 3526)
+++ trunk/core/src/core/org/jnode/vm/isolate/VmIsolate.java 2007-09-24 21:57:54 UTC (rev 3527)
@@ -28,6 +28,8 @@
import java.util.Properties;
import java.util.Vector;
import java.util.ArrayList;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
import javax.isolate.Isolate;
import javax.isolate.IsolateStartupException;
@@ -447,9 +449,11 @@
mainThread.start();
}
+ /*
private Vector<Runnable> taskList = new Vector<Runnable>();
private final Object taskSync = new Object();
private Thread executorThread;
+ */
public void invokeAndWait(final Runnable task){
/*
@@ -544,10 +548,15 @@
IsolatedStaticData.mainTypes);
//inherit properties
- Properties sys_porps = System.getProperties();
- for( String prop : initProperties.stringPropertyNames()){
- sys_porps.setProperty(prop, initProperties.getProperty(prop));
- }
+ AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ public Object run() {
+ Properties sys_porps = System.getProperties();
+ for( String prop : initProperties.stringPropertyNames()){
+ sys_porps.setProperty(prop, initProperties.getProperty(prop));
+ }
+ return null;
+ }
+ });
// Run main method.
mainMethod.invoke(null, new Object[] { args });
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|