Repository: trafficserver
Updated Branches:
  refs/heads/master 1e5d1732f -> 2857d531a


TS-1570: Followup fix to avoid test_certlookup regression.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/2857d531
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/2857d531
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/2857d531

Branch: refs/heads/master
Commit: 2857d531abda9f3f917303dfcebfec28ce3a7f02
Parents: 1e5d173
Author: Alan M. Carroll <solidwallofc...@yahoo-inc.com>
Authored: Mon Dec 8 17:47:51 2014 -0800
Committer: Alan M. Carroll <solidwallofc...@yahoo-inc.com>
Committed: Mon Dec 8 17:47:51 2014 -0800

----------------------------------------------------------------------
 lib/ts/ink_inet.cc | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2857d531/lib/ts/ink_inet.cc
----------------------------------------------------------------------
diff --git a/lib/ts/ink_inet.cc b/lib/ts/ink_inet.cc
index de874ff..7922c69 100644
--- a/lib/ts/ink_inet.cc
+++ b/lib/ts/ink_inet.cc
@@ -229,17 +229,18 @@ ats_ip_parse(ts::ConstBuffer src, ts::ConstBuffer* addr, 
ts::ConstBuffer* port,
         ++src;
       }
     } else {
-      *addr = src.splitOn(':');
-      if (*addr) {
-        colon_p = true;
-      } else { // no colon found, use everything.
+      ts::ConstBuffer post = src.after(':');
+      if (post && ! post.find(':')) {
+       *addr = src.splitOn(post.data()-1);
+       colon_p = true;
+      } else { // presume no port, use everything.
         *addr = src;
         src.reset();
       }
     }
     if (colon_p) {
       ts::ConstBuffer tmp(src);
-      while (ParseRules::is_digit(*src))
+      while (src && ParseRules::is_digit(*src))
         ++src;
 
       if (tmp.data() == src.data()) { // no digits at all

Reply via email to