Don't try to parse authority if it's not there.
Modified-by: Michael Brown <mcb30@ipxe.org>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
struct uri *uri;
char *raw;
char *tmp;
- char *path = NULL;
- char *authority = NULL;
+ char *path;
+ char *authority;
int i;
size_t raw_len;
} else {
/* Absolute URI with opaque part */
uri->opaque = tmp;
+ path = NULL;
}
} else {
/* Relative URI */
} else {
/* Absolute/relative path */
uri->path = path;
+ authority = NULL;
}
+ /* If we don't have an authority (i.e. we have a non-net
+ * path), we're already finished processing
+ */
+ if ( ! authority )
+ goto done;
+
/* Split authority into user[:password] and host[:port] portions */
if ( ( tmp = strchr ( authority, '@' ) ) ) {
/* Has user[:password] */