diff options
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/ntpd/parse.y | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/usr.sbin/ntpd/parse.y b/usr.sbin/ntpd/parse.y index e5b403b4f72..ba3d592a29e 100644 --- a/usr.sbin/ntpd/parse.y +++ b/usr.sbin/ntpd/parse.y @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.60 2015/02/12 01:54:57 reyk Exp $ */ +/* $OpenBSD: parse.y,v 1.61 2015/02/12 23:07:52 reyk Exp $ */ /* * Copyright (c) 2002, 2003, 2004 Henning Brauer <henning@openbsd.org> @@ -316,21 +316,22 @@ url : STRING { strlen("https://")) != 0) { host($1, &$$->a); $$->name = $1; - if (($$->path = strdup("/")) == NULL) - fatal("strdup"); } else { hname = $1 + strlen("https://"); path = hname + strcspn(hname, "/\\"); - if (*path == '\0') - path = "/"; - if (($$->path = strdup(path)) == NULL) - fatal("strdup"); - *path = '\0'; + if (*path != '\0') { + if (($$->path = strdup(path)) == NULL) + fatal("strdup"); + *path = '\0'; + } host(hname, &$$->a); if (($$->name = strdup(hname)) == NULL) fatal("strdup"); } + if ($$->path == NULL && + ($$->path = strdup("/")) == NULL) + fatal("strdup"); } ; |