[1/9] trafficserver git commit: TS-3803: CID 1313322 CID 1313322: HostDB memory issues (introduced in TS-3800)

2015-07-30 Thread zwoop
Repository: trafficserver
Updated Branches:
  refs/heads/6.0.x 8aba18157 - f0e395f59


TS-3803: CID 1313322 CID 1313322: HostDB memory issues (introduced in TS-3800)


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

Branch: refs/heads/6.0.x
Commit: 0cd1ef3ed5e4e6e3a332bccdd07220be717f2226
Parents: ec74792
Author: Brian Geffon bri...@apache.org
Authored: Tue Jul 28 19:43:35 2015 -0700
Committer: Brian Geffon bri...@apache.org
Committed: Tue Jul 28 19:43:35 2015 -0700

--
 iocore/hostdb/HostDB.cc | 16 
 1 file changed, 12 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0cd1ef3e/iocore/hostdb/HostDB.cc
--
diff --git a/iocore/hostdb/HostDB.cc b/iocore/hostdb/HostDB.cc
index 5a9c85a..0d36fd6 100644
--- a/iocore/hostdb/HostDB.cc
+++ b/iocore/hostdb/HostDB.cc
@@ -1365,10 +1365,18 @@ HostDBContinuation::lookup_done(IpAddr const ip, char 
const *aname, bool around
 }
   }
 
-  const size_t s_size = strlen(aname) + 1;
-  void *host_dest = hostDB.alloc(i-hostname_offset, s_size);
-  ink_strlcpy((char *)host_dest, aname, s_size);
-  *((char *)host_dest + s_size) = '\0';
+  if (aname) {
+const size_t s_size = strlen(aname) + 1;
+void *host_dest = hostDB.alloc(i-hostname_offset, s_size);
+if (host_dest) {
+  ink_strlcpy((char *)host_dest, aname, s_size);
+  *((char *)host_dest + s_size) = '\0';
+} else {
+  Warning(Out of room in hostdb for hostname (data area full!));
+  hostDB.delete_block(i);
+  return NULL;
+}
+  }
 
   if (from_cont)
 do_put_response(from, i, from_cont);



trafficserver git commit: TS-3803: CID 1313322 CID 1313322: HostDB memory issues (introduced in TS-3800)

2015-07-28 Thread briang
Repository: trafficserver
Updated Branches:
  refs/heads/master ec7479243 - 0cd1ef3ed


TS-3803: CID 1313322 CID 1313322: HostDB memory issues (introduced in TS-3800)


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

Branch: refs/heads/master
Commit: 0cd1ef3ed5e4e6e3a332bccdd07220be717f2226
Parents: ec74792
Author: Brian Geffon bri...@apache.org
Authored: Tue Jul 28 19:43:35 2015 -0700
Committer: Brian Geffon bri...@apache.org
Committed: Tue Jul 28 19:43:35 2015 -0700

--
 iocore/hostdb/HostDB.cc | 16 
 1 file changed, 12 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0cd1ef3e/iocore/hostdb/HostDB.cc
--
diff --git a/iocore/hostdb/HostDB.cc b/iocore/hostdb/HostDB.cc
index 5a9c85a..0d36fd6 100644
--- a/iocore/hostdb/HostDB.cc
+++ b/iocore/hostdb/HostDB.cc
@@ -1365,10 +1365,18 @@ HostDBContinuation::lookup_done(IpAddr const ip, char 
const *aname, bool around
 }
   }
 
-  const size_t s_size = strlen(aname) + 1;
-  void *host_dest = hostDB.alloc(i-hostname_offset, s_size);
-  ink_strlcpy((char *)host_dest, aname, s_size);
-  *((char *)host_dest + s_size) = '\0';
+  if (aname) {
+const size_t s_size = strlen(aname) + 1;
+void *host_dest = hostDB.alloc(i-hostname_offset, s_size);
+if (host_dest) {
+  ink_strlcpy((char *)host_dest, aname, s_size);
+  *((char *)host_dest + s_size) = '\0';
+} else {
+  Warning(Out of room in hostdb for hostname (data area full!));
+  hostDB.delete_block(i);
+  return NULL;
+}
+  }
 
   if (from_cont)
 do_put_response(from, i, from_cont);