From 4341bdcb126dd4f5ab29fbf31482b3a67da0f0ef Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Fri, 25 Jun 2010 02:59:20 +0200 Subject: Allow the parsing of integers outside INT_MIN and INT_MAX range, but let them overflow/truncate. --- fitz/fitz_base.h | 1 + mupdf/pdf_parse.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) 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) { -- cgit v1.2.3