summaryrefslogtreecommitdiff
path: root/src/character.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-07-28 13:30:20 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2011-07-28 13:30:20 -0700
commit17828df2d81aef1c7886cddd881ad6f67f1e4abe (patch)
treec19c0d40496b48dea46518df8532f5fc38a09bf2 /src/character.c
parent69e8622f7f852f63b8f71c5b1aa4c2fd406e383d (diff)
downloademacs-17828df2d81aef1c7886cddd881ad6f67f1e4abe.tar.gz
* character.c (Fstring): Check for size-calculation overflow.
Diffstat (limited to 'src/character.c')
-rw-r--r--src/character.c2
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;