From: John Darrington Date: Sun, 14 Apr 2019 14:57:42 +0000 (+0200) Subject: Fix crash in lexer due to integer overflow. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=afa696a4a7053cb763da8df33891abfe3fca1fe4;p=pspp Fix crash in lexer due to integer overflow. Fixes bug #54684 --- diff --git a/src/language/data-io/placement-parser.c b/src/language/data-io/placement-parser.c index ca6f491ee0..d946d65de4 100644 --- a/src/language/data-io/placement-parser.c +++ b/src/language/data-io/placement-parser.c @@ -401,7 +401,7 @@ parse_record_placement (struct lexer *lexer, int *record, int *column) { if (lex_is_integer (lexer)) { - if (lex_integer (lexer) <= *record) + if ((int) lex_integer (lexer) <= *record) { msg (SE, _("The record number specified, %ld, is at or " "before the previous record, %d. Data " diff --git a/tests/language/lexer/lexer.at b/tests/language/lexer/lexer.at index 87ce344eac..c4fb4cf829 100644 Binary files a/tests/language/lexer/lexer.at and b/tests/language/lexer/lexer.at differ