You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by am...@apache.org on 2018/09/10 20:51:24 UTC

[trafficserver] branch master updated: HttpSessionManager: Fix potential infinite loop problem.

This is an automated email from the ASF dual-hosted git repository.

amc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/master by this push:
     new 4405411  HttpSessionManager: Fix potential infinite loop problem.
4405411 is described below

commit 4405411feeb08c04a0011c9c7e3a7dbc3043dbdb
Author: Alan M. Carroll <am...@apache.org>
AuthorDate: Mon Sep 10 15:28:33 2018 -0500

    HttpSessionManager: Fix potential infinite loop problem.
---
 proxy/http/HttpSessionManager.cc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/proxy/http/HttpSessionManager.cc b/proxy/http/HttpSessionManager.cc
index 8831a45..c39f949 100644
--- a/proxy/http/HttpSessionManager.cc
+++ b/proxy/http/HttpSessionManager.cc
@@ -198,9 +198,8 @@ ServerSessionPool::eventHandler(int event, void *data)
   sockaddr const *addr                 = net_vc->get_remote_addr();
   HttpConfigParams *http_config_params = HttpConfig::acquire();
   bool found                           = false;
-  auto spot                            = m_ip_pool.find(addr);
 
-  while (spot != m_ip_pool.end() && spot->_ip_link.equal(addr, spot)) {
+  for (auto spot = m_ip_pool.find(addr); spot != m_ip_pool.end() && spot->_ip_link.equal(addr, spot); ++spot) {
     if ((s = spot)->get_netvc() == net_vc) {
       // if there was a timeout of some kind on a keep alive connection, and
       // keeping the connection alive will not keep us above the # of max connections