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


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 13743 <at> debbugs.gnu.org, dgutov <at> yandex.ru
Subject: bug#13743: 24.2.93; Segmentation fault when trying to [s]teal a file opened elsewhere
Date: Sat, 23 Feb 2013 20:44:06 +0200
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: Dmitry Gutov <dgutov <at> yandex.ru>,  13743 <at> debbugs.gnu.org
> Date: Sat, 23 Feb 2013 11:59:18 -0500
> 
> > 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:

  /* 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.