GNU bug report logs -
#716
23.0.60; opening tgz file causes emacs crash
Previous Next
Full log
View this message in rfc822 format
Stefan Monnier wrote:
> Your analysis sounds right, thank you. I'd suggest to use another
> r_alloc primitve, something like r_alloc_reset_variable, so you could do
>
> r_alloc_reset_variable(¤t_buffer->own_text.beg);
> r_alloc_reset_variable(&other_buffer->own_text.beg);
>
> after the swap. It could use the untested patch below. WDYT?
>
>
> === modified file 'src/ralloc.c'
> --- src/ralloc.c 2008-11-21 19:14:07 +0000
> +++ src/ralloc.c 2008-12-23 17:23:02 +0000
> @@ -402,7 +402,7 @@
>
> while (p != NIL_BLOC)
> {
> - if (p->variable == ptr && p->data == *ptr)
> + if (p->data == *ptr)
> return p;
>
> p = p->next;
>
This removes the consistency check, without which we would have taken
much longer to find this problem, as Emacs would not have aborted when
no bloc could be found, and the problem would have been memory
corruption later when that bloc of memory was moved and the wrong
pointer updated.
This bug report was last modified 16 years and 153 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.