From afa696a4a7053cb763da8df33891abfe3fca1fe4 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sun, 14 Apr 2019 16:57:42 +0200 Subject: [PATCH] Fix crash in lexer due to integer overflow. Fixes bug #54684 --- src/language/data-io/placement-parser.c | 2 +- tests/language/lexer/lexer.at | Bin 3166 -> 3526 bytes 2 files changed, 1 insertion(+), 1 deletion(-) 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 87ce344eacd4193785fbad5b8ad6bf96307427aa..c4fb4cf8299e35a76fee29325b8e6b993f0d4ba2 100644 GIT binary patch delta 300 zcmZ9IK}rKb5Jj_b)8qhxn@_S)7!ns5ky!{6lZ6l@kj_e?bf&A5hRO6$-5uR|h+M=| zcm`LVB`t_x{;C%B-~UzL=bslJ&)tSG)?=;x!G+mR^c%VH{*^UJ52-iT4L@>}Rg z2o7#fY-;zqx)LqhCK&W4r7SUfSjb_1qE6@VCB}#0S@*pFF*`2sw_QMP2~3q^jVA8a zDayB0Sz}3OI6>tZtcMD4j5Qg@sZFxCOnd91|K()39sm;+6cVM@9=qs6GTfoIK9GiO g5<#aZXVP3TDQ}z2{~CjyNay|h;eIwPAD44+1aC222><{9 delta 7 OcmX>meNSRT91j2up#t&% -- 2.30.2