浏览代码

catch stack overflow when recursive expr returned by macro

Nicolas Cannasse 13 年之前
父节点
当前提交
dc134f5a56
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      interp.ml

+ 5 - 1
interp.ml

@@ -3814,7 +3814,11 @@ let decode_expr v =
 		| _ ->
 			raise Invalid_expr
 	in
-	loop v
+	try
+		loop v
+	with Stack_overflow ->
+		raise Invalid_expr
+		
 
 (* ---------------------------------------------------------------------- *)
 (* TYPE ENCODING *)