diff options
| author | Paul Eggert | 2011-07-27 17:48:01 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-07-27 17:48:01 -0700 |
| commit | 044c22e545acef592ed95e4e3bb9f8aeff67291a (patch) | |
| tree | 167a4c706b62b12ea979bdf6ad47e70b66bb0394 /src/eval.c | |
| parent | dbf38e02c9ade4979418f24a99962cfef170b957 (diff) | |
| parent | 8265d3bb30544e58683fc16e23f9908f3d5d0abc (diff) | |
| download | emacs-044c22e545acef592ed95e4e3bb9f8aeff67291a.tar.gz emacs-044c22e545acef592ed95e4e3bb9f8aeff67291a.zip | |
Merge: Integer signedness and overflow and related fixes.
Fixes: debbugs:9079
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/eval.c b/src/eval.c index 90d0df61858..ef169e80e27 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1968,18 +1968,18 @@ void | |||
| 1968 | verror (const char *m, va_list ap) | 1968 | verror (const char *m, va_list ap) |
| 1969 | { | 1969 | { |
| 1970 | char buf[4000]; | 1970 | char buf[4000]; |
| 1971 | size_t size = sizeof buf; | 1971 | ptrdiff_t size = sizeof buf; |
| 1972 | size_t size_max = STRING_BYTES_BOUND + 1; | 1972 | ptrdiff_t size_max = STRING_BYTES_BOUND + 1; |
| 1973 | size_t mlen = strlen (m); | 1973 | char const *m_end = m + strlen (m); |
| 1974 | char *buffer = buf; | 1974 | char *buffer = buf; |
| 1975 | size_t used; | 1975 | ptrdiff_t used; |
| 1976 | Lisp_Object string; | 1976 | Lisp_Object string; |
| 1977 | 1977 | ||
| 1978 | while (1) | 1978 | while (1) |
| 1979 | { | 1979 | { |
| 1980 | va_list ap_copy; | 1980 | va_list ap_copy; |
| 1981 | va_copy (ap_copy, ap); | 1981 | va_copy (ap_copy, ap); |
| 1982 | used = doprnt (buffer, size, m, m + mlen, ap_copy); | 1982 | used = doprnt (buffer, size, m, m_end, ap_copy); |
| 1983 | va_end (ap_copy); | 1983 | va_end (ap_copy); |
| 1984 | 1984 | ||
| 1985 | /* Note: the -1 below is because `doprnt' returns the number of bytes | 1985 | /* Note: the -1 below is because `doprnt' returns the number of bytes |