diff src/data.c @ 5886:c96000075e49

Be more careful about C integer overflow, #'parse-integer. src/ChangeLog addition: 2015-04-08 Aidan Kehoe <kehoea@parhasard.net> * data.c (parse_integer): Fix a bug in my detecting a C overflow here. tests/ChangeLog addition: 2015-04-08 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Add a couple of tests for #'parse-integer to check for a bug just fixed.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 08 Apr 2015 21:03:18 +0100
parents 0cebf04c18b5
children 5afddd952c46
line wrap: on
line diff
--- a/src/data.c	Sat Apr 04 13:49:30 2015 +0100
+++ b/src/data.c	Wed Apr 08 21:03:18 2015 +0100
@@ -1780,7 +1780,7 @@
 
       onum = num;
       num *= base;
-      if (num > fixnum_limit)
+      if (num > fixnum_limit || num < onum)
         {
           goto overflow;
         }