emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/fileio.c,v


From: Andreas Schwab
Subject: [Emacs-diffs] Changes to emacs/src/fileio.c,v
Date: Sun, 16 Dec 2007 10:51:02 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Andreas Schwab <schwab> 07/12/16 10:51:02

Index: fileio.c
===================================================================
RCS file: /sources/emacs/emacs/src/fileio.c,v
retrieving revision 1.594
retrieving revision 1.595
diff -u -b -r1.594 -r1.595
--- fileio.c    21 Oct 2007 10:53:16 -0000      1.594
+++ fileio.c    16 Dec 2007 10:51:02 -0000      1.595
@@ -21,6 +21,7 @@
 Boston, MA 02110-1301, USA.  */
 
 #include <config.h>
+#include <limits.h>
 
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
@@ -3693,26 +3694,26 @@
 DEFUN ("insert-file-contents", Finsert_file_contents, Sinsert_file_contents,
        1, 5, 0,
        doc: /* Insert contents of file FILENAME after point.
-Returns list of absolute file name and number of characters inserted.
-If second argument VISIT is non-nil, the buffer's visited filename and
-last save file modtime are set, and it is marked unmodified.  If
-visiting and the file does not exist, visiting is completed before the
-error is signaled.
-
-The optional third and fourth arguments BEG and END specify what portion
-of the file to insert.  These arguments count bytes in the file, not
-characters in the buffer.  If VISIT is non-nil, BEG and END must be nil.
-
-If optional fifth argument REPLACE is non-nil, replace the current
-buffer contents (in the accessible portion) with the file contents.
-This is better than simply deleting and inserting the whole thing
-because (1) it preserves some marker positions and (2) it puts less data
-in the undo list.  When REPLACE is non-nil, the second return value is
-the number of characters that replace previous buffer contents.
-
-This function does code conversion according to the value of
-`coding-system-for-read' or `file-coding-system-alist', and sets the
-variable `last-coding-system-used' to the coding system actually used.  */)
+              Returns list of absolute file name and number of characters 
inserted.
+              If second argument VISIT is non-nil, the buffer's visited 
filename and
+              last save file modtime are set, and it is marked unmodified.  If
+              visiting and the file does not exist, visiting is completed 
before the
+              error is signaled.
+
+              The optional third and fourth arguments BEG and END specify what 
portion
+              of the file to insert.  These arguments count bytes in the file, 
not
+              characters in the buffer.  If VISIT is non-nil, BEG and END must 
be nil.
+
+              If optional fifth argument REPLACE is non-nil, replace the 
current
+              buffer contents (in the accessible portion) with the file 
contents.
+              This is better than simply deleting and inserting the whole thing
+              because (1) it preserves some marker positions and (2) it puts 
less data
+              in the undo list.  When REPLACE is non-nil, the second return 
value is
+              the number of characters that replace previous buffer contents.
+
+              This function does code conversion according to the value of
+              `coding-system-for-read' or `file-coding-system-alist', and sets 
the
+              variable `last-coding-system-used' to the coding system actually 
used.  */)
      (filename, visit, beg, end, replace)
      Lisp_Object filename, visit, beg, end, replace;
 {
@@ -3863,7 +3864,7 @@
             overflow.  The calculations below double the file size
             twice, so check that it can be multiplied by 4 safely.  */
          if (XINT (end) != st.st_size
-             || ((int) st.st_size * 4) / 4 != st.st_size)
+             || st.st_size > INT_MAX / 4)
            error ("Maximum buffer size exceeded");
 
          /* The file size returned from stat may be zero, but data




reply via email to

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