diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2011-07-28 13:30:20 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2011-07-28 13:30:20 -0700 |
commit | 17828df2d81aef1c7886cddd881ad6f67f1e4abe (patch) | |
tree | c19c0d40496b48dea46518df8532f5fc38a09bf2 /src/character.c | |
parent | 69e8622f7f852f63b8f71c5b1aa4c2fd406e383d (diff) | |
download | emacs-17828df2d81aef1c7886cddd881ad6f67f1e4abe.tar.gz |
* character.c (Fstring): Check for size-calculation overflow.
Diffstat (limited to 'src/character.c')
-rw-r--r-- | src/character.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/character.c b/src/character.c index 5e2eccf54db..50b5b252871 100644 --- a/src/character.c +++ b/src/character.c @@ -902,6 +902,8 @@ usage: (string &rest CHARACTERS) */) Lisp_Object str; USE_SAFE_ALLOCA; + if (min (PTRDIFF_MAX, SIZE_MAX) / MAX_MULTIBYTE_LENGTH < n) + memory_full (SIZE_MAX); SAFE_ALLOCA (buf, unsigned char *, MAX_MULTIBYTE_LENGTH * n); p = buf; |