summaryrefslogtreecommitdiffstats
path: root/external/redland/raptor/ubsan.patch
blob: 641d60bb7b49791b5b76b316e4812833cbf37354 (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
--- src/raptor_rfc2396.c
+++ src/raptor_rfc2396.c
@@ -386,7 +386,7 @@
   } 
 
   
-  if(prev && s == (cur+2) && cur[0] == '.' && cur[1] == '.') {
+  if(prev && cur && s == (cur+2) && cur[0] == '.' && cur[1] == '.') {
     /* Remove <component>/.. at the end of the path */
     *prev = '\0';
     path_len -= (s-prev);
--- src/raptor_uri.c
+++ src/raptor_uri.c
@@ -1336,9 +1336,9 @@
      !strncmp((const char*)base_detail->scheme, 
               (const char*)reference_detail->scheme,
               base_detail->scheme_len) &&
-     !strncmp((const char*)base_detail->authority, 
+     (base_detail->authority_len == 0 || !strncmp((const char*)base_detail->authority, 
               (const char*)reference_detail->authority,
-              base_detail->authority_len)) {
+              base_detail->authority_len))) {
     
     if(!base_detail->path) {
       if(reference_detail->path) {