diff options
author | Tor Andersson <tor@ghostscript.com> | 2010-06-25 02:59:20 +0200 |
---|---|---|
committer | Tor Andersson <tor@ghostscript.com> | 2010-06-25 02:59:20 +0200 |
commit | 4341bdcb126dd4f5ab29fbf31482b3a67da0f0ef (patch) | |
tree | 4b063f92eaf726f3b25feeb5ac060261a82f82f1 | |
parent | 6e5deca186079ebf4421033d4fba44b1892c181f (diff) | |
download | mupdf-4341bdcb126dd4f5ab29fbf31482b3a67da0f0ef.tar.xz |
Allow the parsing of integers outside INT_MIN and INT_MAX range, but let them overflow/truncate.
-rw-r--r-- | fitz/fitz_base.h | 1 | ||||
-rw-r--r-- | mupdf/pdf_parse.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/fitz/fitz_base.h b/fitz/fitz_base.h index 3b5b115d..4d48ac7d 100644 --- a/fitz/fitz_base.h +++ b/fitz/fitz_base.h @@ -47,6 +47,7 @@ extern int gettimeofday(struct timeval *tv, struct timezone *tz); #define snprintf _snprintf #define hypotf _hypotf +#define strtoll _strtoi64 #if _MSC_VER < 1500 #define vsnprintf _vsnprintf diff --git a/mupdf/pdf_parse.c b/mupdf/pdf_parse.c index 71344460..27dc8743 100644 --- a/mupdf/pdf_parse.c +++ b/mupdf/pdf_parse.c @@ -312,7 +312,8 @@ skip: case PDF_TNULL: val = fz_newnull(); break; case PDF_TINT: - a = atoi(buf); + /* 64-bit to allow for numbers > INT_MAX and overflow */ + a = (int) strtoll(buf, 0, 10); error = pdf_lex(&tok, file, buf, cap, &len); if (error) { |