]> err.no Git - varnish/commitdiff
Allow an empty address if a port is specified; thus ":80" is a valid
authordes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 22 Aug 2006 08:17:54 +0000 (08:17 +0000)
committerdes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 22 Aug 2006 08:17:54 +0000 (08:17 +0000)
listening address ("port 80 on all interfaces")

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@886 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/mgt_vcc.c
varnish-cache/bin/varnishd/tcp.c

index 996d8419dfcdaf8f1b86027578c3335d328abe12..69999cd80e87128107ddc34b8a9f6358e39cdfa6 100644 (file)
@@ -136,7 +136,7 @@ mgt_vcc_default(const char *b_arg, const char *f_arg)
                 * XXX: a bug for a backend to not reply at that time, so then
                 * XXX: again: we should check it here in the "trivial" case.
                 */
-               if (TCP_parse(b_arg, &addr, &port) != 0) {
+               if (TCP_parse(b_arg, &addr, &port) != 0 || addr == NULL) {
                        fprintf(stderr, "invalid backend address\n");
                        return (1);
                }
index 5cfe38033a1cac943434a2a4254a57c26623dafe..209daa91ae50432447d77103b0d68ccf8362a56a 100644 (file)
@@ -101,9 +101,8 @@ TCP_parse(const char *str, char **addr, char **port)
                if (p == NULL) {
                        *addr = strdup(str);
                } else {
-                       if (p == str)
-                               return (-1);
-                       *addr = strndup(str, p - str);
+                       if (p > str)
+                               *addr = strndup(str, p - str);
                        *port = strdup(p + 1);
                }
        }