parse crash - (was: Re: parse consumption)
[1/2] from: anton::lexicon::net at: 12-Sep-2002 2:50
Well, here is a simple example, tested
on a clean REBOL/View 1.2.8.3.1 3-Aug-2002 (beta)
and a clean REBOL/View 1.2.1.3.1 21-Jun-2001
I could probably do some more experiments
and figure out some more details, but
anyway:
-----------
crash: func ["demonstrates a bug in parse that crashes rebol"
target [any-string!] {try "/../"}
/local start post
][
parse/all target [
start: "/"
any [
"../" post: (remove/part start post)
| to "/" ; to or thru will cause the crash
]
]
]
crash "/../"
-----------
Maybe someone can reduce it further.
Anton.
[2/2] from: lmecir:mbox:vol:cz at: 12-Sep-2002 10:23
Hi Anton,
thanks for your example. I think, that it can be reduced to:
parse/all "/" [start: skip opt (remove start) to "*"]
It is interesting, that the following code doesn't cause the crash:
parse/all "/" [start: skip opt (remove start) to #"*"]
Cheers
-L
----- Original Message -----
From: "Anton"
Well, here is a simple example, tested
on a clean REBOL/View 1.2.8.3.1 3-Aug-2002 (beta)
and a clean REBOL/View 1.2.1.3.1 21-Jun-2001
I could probably do some more experiments
and figure out some more details, but
anyway:
-----------
crash: func ["demonstrates a bug in parse that crashes rebol"
target [any-string!] {try "/../"}
/local start post
][
parse/all target [
start: "/"
any [
../
post: (remove/part start post)
| to "/" ; to or thru will cause the crash
]
]
]
crash "/../"
-----------
Maybe someone can reduce it further.
Anton.