[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#7082: 24.0.50; Bug in src/doc.c (Fsnarf_documentation)

From: Ari Roponen
Subject: bug#7082: 24.0.50; Bug in src/doc.c (Fsnarf_documentation)
Date: Tue, 21 Sep 2010 17:39:31 +0300


recently compiling Emacs has not worked for me. The compilation always
aborts with this error:

  Loading emacs-lisp/float-sup...
  Loading vc/vc-hooks...
  Loading vc/ediff-hook...
  Loading tooltip...
  Finding pointers to doc strings...
  /bin/sh: line 8: 10391 Segmentation fault      (core dumped) LC_ALL=C 
`/bin/pwd`/temacs -batch -l loadup dump
  make[1]: *** [emacs] Error 1
  make[1]: Leaving directory `/usr/local/repos/emacs.git/src'
  make: *** [src] Error 2

After some debugging, I may have found the cause. I added an assert to
Fsnarf_documentation in src/doc.c just before the memcpy and it failed:

  Assertion `buf + filled < end' failed.

This means we should use memmove instead, as it can handle overlapping
regions properly.

2010-09-21  Ari Roponen  <address@hidden>  (tiny change)

        * doc.c (Fsnarf_documentation): Use memmove instead of memcpy as
        the regions may overlap.

diff --git a/src/doc.c b/src/doc.c
index f8ab9d0..36f7c0e 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -678,7 +678,7 @@ the same file name is found in the `doc-directory'.  */)
       pos += end - buf;
       filled -= end - buf;
-      memcpy (buf, end, filled);
+      memmove (buf, end, filled);
   emacs_close (fd);
   return Qnil;

In GNU Emacs (x86_64-unknown-linux-gnu, GTK+ Version 2.90.5)
 of 2010-09-21 on arirop
Windowing system distributor `Fedora Project', version 11.0.10899905
configured using `configure  '--with-x-toolkit=gtk3' '--with-imagemagick''

Ari Roponen

reply via email to

[Prev in Thread] Current Thread [Next in Thread]