aboutsummaryrefslogtreecommitdiff
path: root/devel/uclmmbase/files/patch-af
blob: d380c55226942b6d0727536f6b6e9a98bdb02af5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
--- src/mbus_parser.c.orig	Thu Jan 23 17:39:55 2003
+++ src/mbus_parser.c	Thu Jan 23 17:41:26 2003
@@ -158,6 +158,7 @@
 int mbus_parse_int(struct mbus_parser *m, int *i)
 {
 	char	*p;
+	long	l;
 
 	assert(m->magic == MBUS_PARSER_MAGIC);
 
@@ -166,11 +167,12 @@
 		CHECK_OVERRUN;
         }
 
-	*i = strtol(m->buffer, &p, 10);
-	if (((*i == LONG_MAX) || (*i == LONG_MIN)) && (errno == ERANGE)) {
+	l = strtol(m->buffer, &p, 10);
+	if (((l >= INT_MAX) || (l <= INT_MIN)) && (errno == ERANGE)) {
 		debug_msg("integer out of range\n");
 		return FALSE;
 	}
+	*i = l;
 
 	if (p == m->buffer) {
 		return FALSE;