diff options
| author | Eli Zaretskii | 2008-05-03 10:17:22 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2008-05-03 10:17:22 +0000 |
| commit | 7412d4290304cd6debddc704fa4a758687587d4c (patch) | |
| tree | 4aa75d568a71c3faed7e68f458a6feb4a48b22e7 | |
| parent | 83affd963e63d0e177e34f542064f2402cc97b39 (diff) | |
| download | emacs-7412d4290304cd6debddc704fa4a758687587d4c.tar.gz emacs-7412d4290304cd6debddc704fa4a758687587d4c.zip | |
(Ffile_attributes): Don't allow the device number become negative.
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/dired.c | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index e84316ac91f..a6596173ab4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2008-05-03 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * dired.c (Ffile_attributes): Don't allow the device number become | ||
| 4 | negative. | ||
| 5 | |||
| 1 | 2008-05-02 Daiki Ueno <ueno@unixuser.org> | 6 | 2008-05-02 Daiki Ueno <ueno@unixuser.org> |
| 2 | 7 | ||
| 3 | * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc. | 8 | * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc. |
diff --git a/src/dired.c b/src/dired.c index e11c37ca5b7..d3a6e7b7cec 100644 --- a/src/dired.c +++ b/src/dired.c | |||
| @@ -1048,8 +1048,11 @@ Elements of the attribute list are: | |||
| 1048 | make_number (low_ino & 0xffff))); | 1048 | make_number (low_ino & 0xffff))); |
| 1049 | } | 1049 | } |
| 1050 | 1050 | ||
| 1051 | /* Likewise for device. */ | 1051 | /* Likewise for device, but don't let it become negative. We used |
| 1052 | if (FIXNUM_OVERFLOW_P (s.st_dev)) | 1052 | to use FIXNUM_OVERFLOW_P here, but that won't catch large |
| 1053 | positive numbers such as 0xFFEEDDCC. */ | ||
| 1054 | if ((EMACS_INT)s.st_dev < 0 | ||
| 1055 | || (EMACS_INT)s.st_dev > MOST_POSITIVE_FIXNUM) | ||
| 1053 | values[11] = Fcons (make_number (s.st_dev >> 16), | 1056 | values[11] = Fcons (make_number (s.st_dev >> 16), |
| 1054 | make_number (s.st_dev & 0xffff)); | 1057 | make_number (s.st_dev & 0xffff)); |
| 1055 | else | 1058 | else |