[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#24358: 25.1.50; re-search-forward errors with "Variable binding dept
From: |
Eli Zaretskii |
Subject: |
bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size" |
Date: |
Mon, 24 Oct 2016 16:39:55 +0300 |
> From: npostavs@users.sourceforge.net
> Cc: 24358@debbugs.gnu.org, sam.halliday@gmail.com
> Date: Mon, 24 Oct 2016 09:29:21 -0400
>
> > regstart[*p] = d;
> > [...]
> > regs->start[reg] = POINTER_TO_OFFSET (regstart[reg]);
> >
> > POINTER_TO_OFFSET assumes that the pointer in regstart[reg] is
> > consistent with the current base address of the string into which it
> > points. Did you study this aspect of regex.c when you decided which
> > values need to be affected by relocation?
>
> I did not look at that before, but looking now, I don't see why it would
> be a problem. I put the base address updating code around the only
> place where malloc may be called, so string1 and string2 (which
> POINTER_TO_OFFSET uses) should always be consistent with the base
> address (unless there is some other malloc call that I missed?).
What bothers me is this: could it be that relocation happens between
the first and the second line above? If it can, then what
POINTER_TO_OFFSET does will be inconsistent with the base address at
the time regstart[*p] was assigned the value of d.
The code runs in a loop, or so it seems, so it's hard to reason about
time sequences.
But I'm not saying I clearly see a problem, just that I fear there
might be one. If your reading of the code is that it cannot happen,
I'm happy.
Thanks.
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", (continued)
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Sam Halliday, 2016/10/23
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Eli Zaretskii, 2016/10/23
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Sam Halliday, 2016/10/23
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Sam Halliday, 2016/10/23
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Eli Zaretskii, 2016/10/23
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Eli Zaretskii, 2016/10/23
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Eli Zaretskii, 2016/10/23
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Noam Postavsky, 2016/10/23
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Eli Zaretskii, 2016/10/23
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", npostavs, 2016/10/24
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size",
Eli Zaretskii <=
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Noam Postavsky, 2016/10/24
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Eli Zaretskii, 2016/10/24
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", npostavs, 2016/10/24
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Eli Zaretskii, 2016/10/25
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", npostavs, 2016/10/25
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Eli Zaretskii, 2016/10/24
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Eli Zaretskii, 2016/10/24
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Sam Halliday, 2016/10/24
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", npostavs, 2016/10/24
- bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size", Sam Halliday, 2016/10/23