diff options
| author | Paul Eggert | 2011-06-22 09:15:41 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-06-22 09:15:41 -0700 |
| commit | 31fd4b3280acee4030efde84a0e23ae2b006ee31 (patch) | |
| tree | 0b2245daf7e6f772cbaabf8916faeb34683bb390 /src/coding.c | |
| parent | ddb7ffeeb8ace6501eb453f50f0f9f6852eda21f (diff) | |
| parent | 510005210ac9f4d813c4a2cc99b2c3c11e57c055 (diff) | |
| download | emacs-31fd4b3280acee4030efde84a0e23ae2b006ee31.tar.gz emacs-31fd4b3280acee4030efde84a0e23ae2b006ee31.zip | |
Merge: Integer overflow and signedness fixes (Bug#8873).
A few related buffer overrun fixes, too.
Diffstat (limited to 'src/coding.c')
| -rw-r--r-- | src/coding.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/coding.c b/src/coding.c index 04985ab3c74..9939774ea82 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -9442,7 +9442,7 @@ static Lisp_Object | |||
| 9442 | make_subsidiaries (Lisp_Object base) | 9442 | make_subsidiaries (Lisp_Object base) |
| 9443 | { | 9443 | { |
| 9444 | Lisp_Object subsidiaries; | 9444 | Lisp_Object subsidiaries; |
| 9445 | int base_name_len = SBYTES (SYMBOL_NAME (base)); | 9445 | ptrdiff_t base_name_len = SBYTES (SYMBOL_NAME (base)); |
| 9446 | char *buf = (char *) alloca (base_name_len + 6); | 9446 | char *buf = (char *) alloca (base_name_len + 6); |
| 9447 | int i; | 9447 | int i; |
| 9448 | 9448 | ||
| @@ -9450,7 +9450,7 @@ make_subsidiaries (Lisp_Object base) | |||
| 9450 | subsidiaries = Fmake_vector (make_number (3), Qnil); | 9450 | subsidiaries = Fmake_vector (make_number (3), Qnil); |
| 9451 | for (i = 0; i < 3; i++) | 9451 | for (i = 0; i < 3; i++) |
| 9452 | { | 9452 | { |
| 9453 | memcpy (buf + base_name_len, suffixes[i], strlen (suffixes[i]) + 1); | 9453 | strcpy (buf + base_name_len, suffixes[i]); |
| 9454 | ASET (subsidiaries, i, intern (buf)); | 9454 | ASET (subsidiaries, i, intern (buf)); |
| 9455 | } | 9455 | } |
| 9456 | return subsidiaries; | 9456 | return subsidiaries; |