aboutsummaryrefslogtreecommitdiff
path: root/src/url.c
diff options
context:
space:
mode:
authorRodrigo Arias Mallo <rodarima@gmail.com>2024-06-09 13:28:39 +0200
committerRodrigo Arias Mallo <rodarima@gmail.com>2024-06-09 13:28:39 +0200
commit2c01e5876168eb18166f33e08c819447a57a3e21 (patch)
tree99295438e6bb59f33665adb2e6b5fb43611dabc0 /src/url.c
parentd8cc59e18d6bf90c91e5d9cf1f9c36587f4ab26c (diff)
Allow empty URLs with base URL set
They are used for href="" in links or action="" in forms. Fixes: https://github.com/dillo-browser/dillo/issues/190
Diffstat (limited to 'src/url.c')
-rw-r--r--src/url.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/url.c b/src/url.c
index 181d4f36..0c34d1d9 100644
--- a/src/url.c
+++ b/src/url.c
@@ -375,8 +375,12 @@ DilloUrl* a_Url_new(const char *url_str, const char *base_url)
Dstr *SolvedUrl;
int i, n_ic, n_ic_spc;
- /* NULL or empty URL is not valid */
- if (!url_str || url_str[0] == '\0')
+ if (!url_str)
+ return NULL;
+
+ /* Empty URL without base_url is not valid.
+ * They are used for action="" in forms with base_url set. */
+ if (url_str[0] == '\0' && base_url == NULL)
return NULL;
/* Count illegal characters (0x00-0x1F, 0x7F-0xFF and space) */