diff src/luan/impl/Closure.java @ 1133:ba4daf107e07

fix security bug
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 17 Jan 2018 20:59:42 -0700
parents c49980cdece6
children 3ef883468fd0
line wrap: on
line diff
--- a/src/luan/impl/Closure.java	Tue Jan 02 21:30:41 2018 -0700
+++ b/src/luan/impl/Closure.java	Wed Jan 17 20:59:42 2018 -0700
@@ -6,17 +6,17 @@
 import luan.LuanException;
 import luan.LuanCloner;
 import luan.LuanCloneable;
-import luan.LuanJava;
+import luan.LuanJavaOk;
 
 
 public abstract class Closure extends LuanFunction implements LuanCloneable, Cloneable {
 	public Pointer[] upValues;
-	public LuanJava ljava;
+	public LuanJavaOk javaOk;
 	private LuanCloner cloner;
 
-	public Closure(int nUpValues,LuanJava java) throws LuanException {
+	public Closure(int nUpValues,LuanJavaOk javaOk) throws LuanException {
 		this.upValues = new Pointer[nUpValues];
-		this.ljava = java;
+		this.javaOk = javaOk;
 	}
 
 	@Override public Closure shallowClone() {
@@ -33,12 +33,12 @@
 		switch( cloner.type ) {
 		case COMPLETE:
 			clone.upValues = (Pointer[])cloner.clone(upValues);
-			clone.ljava = (LuanJava)cloner.clone(ljava);
+			clone.javaOk = (LuanJavaOk)cloner.clone(javaOk);
 			return;
 		case INCREMENTAL:
 			clone.cloner = cloner;
 			clone.upValues = upValues;
-			clone.ljava = ljava;
+			clone.javaOk = javaOk;
 			return;
 		}
 	}
@@ -46,7 +46,7 @@
 	private void check() {
 		if( cloner != null ) {
 			upValues = (Pointer[])cloner.clone(upValues);
-			ljava = (LuanJava)cloner.clone(ljava);
+			javaOk = (LuanJavaOk)cloner.clone(javaOk);
 			cloner = null;
 		}
 	}
@@ -55,14 +55,14 @@
 		if( luan.isLocked )
 			throw new RuntimeException("luan is locked");
 		check();
-		LuanJava old = luan.java;
-		luan.java = ljava;
+		LuanJavaOk old = luan.javaOk;
+		luan.javaOk = javaOk;
 		try {
 			return doCall(luan,args);
 		} catch(StackOverflowError e) {
 			throw new LuanException( "stack overflow" );
 		} finally {
-			luan.java = old;
+			luan.javaOk = old;
 		}	
 	}