[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#22146: Stack overflow in reftex-parse-all
From: |
Mosè Giordano |
Subject: |
bug#22146: Stack overflow in reftex-parse-all |
Date: |
Sun, 13 Dec 2015 18:59:42 +0100 |
2015-12-13 18:46 GMT+01:00 Tassilo Horn <address@hidden>:
> Mosè Giordano <address@hidden> writes:
>
>>>>> (re-search-forward "\\[[^]]*\\<label")
>>>>>
>>>>> at the beginning of the buffer suggested by Nils. So, it doesn't
>>>>> seem there is an incomplete match, but simply "\\[[^]]*" is too
>>>>> greedy.
>>>>
>>>> This expression contains only a single explicit wildcard. A stack
>>>> overflow for it most certainly is a bug. Is this really fixed in
>>>> 25.1 or is there just a larger stack?
>>>
>>> I also get a stack overflow with this starting with a buffer size of
>>> about 800 lines. But I can run
>>>
>>> (re-search-forward reftex-everything-regexp nil t)
>>>
>>> without problems even after adding 100.000 more "foo foo foo..."
>>> lines to the test file...
>>
>> Uh, in Emacs 24.5
>>
>> (re-search-forward "\\[[^]]*\\<label" nil t)
>>
>> throws the stack overflow error, indeed I tested also this
>> possibility. So are you saying that in Emacs 25.1 the noerror option
>> prevents stack overflow?
>
> No, in Emacs 25 the regexp was broken in a way that its meaning was not
> "[ and then many times something different than ]" but "[, then not
> another [, and then zero or many times a ]". Now that I fixed the
> regexp again, Emacs 25 breaks in the same way.
>
>> Anyway, how about my suggestion to use
>>
>> "\\[[^]]\{0,1000\}\\<label"
>>
>> ? 1000 characters are 12.5 80-column-wide lines, I think it's large enough.
>
> Isn't the syntax "\\[[^]]\\{0,1000\\}\\<label"?
Uh, yes, sorry.
> I tried going up to a
> maximum of 30000 and it still didn't overflow,
It does for me, from 16667 to be precise.
> so I think that's an
> appropriate fix (say, maybe 2000 instead of 1000 to be extra safe).
> Feel free to change `reftex-label-regexps' accordingly.
I don't have write access to Emacs repo :-)
Bye,
Mosè
- bug#22146: Stack overflow in reftex-parse-all, (continued)
- bug#22146: Stack overflow in reftex-parse-all, Nils Kanning, 2015/12/12
- bug#22146: Stack overflow in reftex-parse-all, Mosè Giordano, 2015/12/12
- bug#22146: Stack overflow in reftex-parse-all, David Kastrup, 2015/12/12
- bug#22146: Stack overflow in reftex-parse-all, Mosè Giordano, 2015/12/13
- bug#22146: Stack overflow in reftex-parse-all, David Kastrup, 2015/12/13
- bug#22146: Stack overflow in reftex-parse-all, Tassilo Horn, 2015/12/13
- bug#22146: Stack overflow in reftex-parse-all, Mosè Giordano, 2015/12/13
- bug#22146: Stack overflow in reftex-parse-all, Tassilo Horn, 2015/12/13
- bug#22146: Stack overflow in reftex-parse-all, David Kastrup, 2015/12/13
- bug#22146: Stack overflow in reftex-parse-all, Tassilo Horn, 2015/12/13
- bug#22146: Stack overflow in reftex-parse-all,
Mosè Giordano <=
- bug#22146: Stack overflow in reftex-parse-all, Tassilo Horn, 2015/12/13