--- 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 /.. 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) {