aboutsummaryrefslogtreecommitdiff
path: root/repos/extra/libxml2/overflow.patch
blob: c7d82ed069c0a8e3e7cb07f8c92d13c8edebef37 (plain)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
The line count may overflow. It's a signed integer in public api
so there is nothing that can be done but at least the usage should
be harmless since it's just a line number.

--- a/parser.c
+++ b/parser.c
@@ -2323,7 +2323,7 @@ static int spacePop(xmlParserCtxtPtr ctxt) {
     int skipl;								\
     for(skipl=0; skipl<val; skipl++) {					\
 	if (*(ctxt->input->cur) == '\n') {				\
-	ctxt->input->line++; ctxt->input->col = 1;			\
+	ctxt->input->line = ((unsigned)ctxt->input->line) + 1; ctxt->input->col = 1; \
 	} else ctxt->input->col++;					\
 	ctxt->input->cur++;						\
     }									\
@@ -2357,7 +2357,7 @@ static int spacePop(xmlParserCtxtPtr ctxt) {
 
 #define NEXTL(l) do {							\
     if (*(ctxt->input->cur) == '\n') {					\
-	ctxt->input->line++; ctxt->input->col = 1;			\
+	ctxt->input->line = ((unsigned)ctxt->input->line) + 1; ctxt->input->col = 1; \
     } else ctxt->input->col++;						\
     ctxt->input->cur += l;				\
   } while (0)
@@ -2391,7 +2391,7 @@ xmlSkipBlankChars(xmlParserCtxtPtr ctxt) {
     cur = ctxt->input->cur;
     while (IS_BLANK_CH(*cur)) {
         if (*cur == '\n') {
-            ctxt->input->line++; ctxt->input->col = 1;
+            ctxt->input->line = ((unsigned)ctxt->input->line) + 1; ctxt->input->col = 1;
         } else {
             ctxt->input->col++;
         }
@@ -4790,7 +4790,7 @@ get_more_space:
         while (*in == 0x20) { in++; ctxt->input->col++; }
         if (*in == 0xA) {
             do {
-                ctxt->input->line++; ctxt->input->col = 1;
+                ctxt->input->line = ((unsigned)ctxt->input->line) + 1; ctxt->input->col = 1;
                 in++;
             } while (*in == 0xA);
             goto get_more_space;
@@ -4835,7 +4835,7 @@ get_more:
         ctxt->input->col = ccol;
         if (*in == 0xA) {
             do {
-                ctxt->input->line++; ctxt->input->col = 1;
+                ctxt->input->line = ((unsigned)ctxt->input->line) + 1; ctxt->input->col = 1;
                 in++;
             } while (*in == 0xA);
             goto get_more;
@@ -4888,7 +4888,7 @@ get_more:
             if (*in == 0xA) {
                 ctxt->input->cur = in;
                 in++;
-                ctxt->input->line++; ctxt->input->col = 1;
+                ctxt->input->line = ((unsigned)ctxt->input->line) + 1; ctxt->input->col = 1;
                 continue; /* while */
             }
             in--;
@@ -5251,7 +5251,7 @@ xmlParseComment(xmlParserCtxtPtr ctxt) {
     do {
 	if (*in == 0xA) {
 	    do {
-		ctxt->input->line++; ctxt->input->col = 1;
+		ctxt->input->line = ((unsigned)ctxt->input->line) + 1; ctxt->input->col = 1;
 		in++;
 	    } while (*in == 0xA);
 	}
@@ -5266,7 +5266,7 @@ get_more:
 	ctxt->input->col = ccol;
 	if (*in == 0xA) {
 	    do {
-		ctxt->input->line++; ctxt->input->col = 1;
+		ctxt->input->line = ((unsigned)ctxt->input->line) + 1; ctxt->input->col = 1;
 		in++;
 	    } while (*in == 0xA);
 	    goto get_more;
@@ -5311,14 +5311,14 @@ get_more:
 	ctxt->input->cur = in;
 	if (*in == 0xA) {
 	    in++;
-	    ctxt->input->line++; ctxt->input->col = 1;
+	    ctxt->input->line = ((unsigned)ctxt->input->line) + 1; ctxt->input->col = 1;
 	}
 	if (*in == 0xD) {
 	    in++;
 	    if (*in == 0xA) {
 		ctxt->input->cur = in;
 		in++;
-		ctxt->input->line++; ctxt->input->col = 1;
+		ctxt->input->line = ((unsigned)ctxt->input->line) + 1; ctxt->input->col = 1;
 		goto get_more;
 	    }
 	    in--;