Commit Diff


commit - 0f7d82716aa8a5721057cbc858dbbbf6ba6502f9
commit + 91ef5ab4100ad6f754a0945d4ec468a52626ac63
blob - 327d5ecad35fd917342d01f1144d4a17bf674620
blob + ef1c974197379078a2b295149504fc5bfa103738
--- iri.c
+++ iri.c
@@ -255,10 +255,11 @@ parse_path_absolute(const char *s, struct iri *iri)
 		return (NULL);
 
 	if ((t = advance_segment_nz(s + 1)) == NULL)
-		return (s + 1);
-
-	while (*t == '/')
-		t = advance_segment(t + 1);
+		t = s + 1;
+	else {
+		while (*t == '/')
+			t = advance_segment(t + 1);
+	}
 
 	if (cpstr(s, t, iri->iri_path, sizeof(iri->iri_path)) == -1)
 		return (NULL);