aboutsummaryrefslogtreecommitdiff
path: root/projects/apache-httpd/patches.diff
blob: d93b12b98bdf4a4de26252bbbbb87f68417b7a70 (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
diff --git a/server/apreq_parser_header.c b/server/apreq_parser_header.c
index 19588be..7067e58 100644
--- a/server/apreq_parser_header.c
+++ b/server/apreq_parser_header.c
@@ -89,7 +89,7 @@ static apr_status_t split_header_line(apreq_param_t **p,
         if (s != APR_SUCCESS)
             return s;
 
-        assert(nlen >= len);
+	if (!(nlen >= len)) { return APR_EBADARG; } assert(nlen >= len);
         end->iov_len = len;
         nlen -= len;
 
@@ -103,13 +103,13 @@ static apr_status_t split_header_line(apreq_param_t **p,
         if (s != APR_SUCCESS)
             return s;
 
-        assert(glen >= dlen);
+	if (!(glen >= dlen)) { return APR_EBADARG; } assert(glen >= dlen);
         glen -= dlen;
         e = APR_BUCKET_NEXT(e);
     }
 
     /* copy value */
-    assert(vlen > 0);
+    if (!(vlen > 0)) { return APR_EBADARG; } assert(vlen > 0);
     dest = v->data;
     while (vlen > 0) {
 
@@ -119,12 +119,12 @@ static apr_status_t split_header_line(apreq_param_t **p,
 
         memcpy(dest, data, dlen);
         dest += dlen;
-        assert(vlen >= dlen);
+	if (!(vlen >= dlen)) { return APR_EBADARG; } assert(vlen >= dlen);
         vlen -= dlen;
         e = APR_BUCKET_NEXT(e);
     }
 
-    assert(dest[-1] == '\n');
+    if (!(dest[-1] == '\n')) { return APR_EBADARG; } assert(dest[-1] == '\n');
 
     if (dest[-2] == '\r')
         --dest;