GNU bug report logs - #13743
24.2.93; Segmentation fault when trying to [s]teal a file opened elsewhere

Previous Next

Package: emacs;

Reported by: Dmitry Gutov <dgutov <at> yandex.ru>

Date: Mon, 18 Feb 2013 07:14:01 UTC

Severity: important

Found in version 24.2.93

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

Full log


Message #44 received at 13743 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>, 13743 <at> debbugs.gnu.org
Subject: Re: bug#13743: 24.2.93; Segmentation fault when trying to [s]teal
	a file opened elsewhere
Date: Sun, 24 Feb 2013 19:28:32 +0400
On 23.02.2013 22:44, Eli Zaretskii wrote:
>>> I can fix this particular problem with this simple patch:
>> [...]
>>> However, I'm not sure this is the right or the best way.  If it is, it
>>> will probably be prudent to add some protection against infinite
>>> recursion here.
>>
>> How 'bout moving the
>>
>>     if (BUFFERP (object))
>>       modify_region (object, start, end);
>>
>> earlier in the function.  Something like the patch below.
>
> This will (falsely, AFAIU) tell us that the region is about to be
> modified when we return at the point marked below:

I tried the patches, and both seem to work fine so far. If you could 
explain the practical implications of the drawback in Stefan's patch 
you're describing here, I'll try to test for that, too.

>    /* If we're not starting on an interval boundary, we have to
>      split this interval.  */
>    if (i->position != s)
>      {
>        /* If this interval already has the properties, we can
>           skip it.  */
>        if (interval_has_all_properties (properties, i))
> 	{
> 	  ptrdiff_t got = (LENGTH (i) - (s - i->position));
> 	  if (got >= len)
> 	    RETURN_UNGCPRO (Qnil); <<<<<<<<<<<<<<<<<<<<<<<<<<<
> 	  len -= got;
> 	  i = next_interval (i);
> 	}
>        else
>





This bug report was last modified 12 years and 87 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.