OSDN Git Service

バグ修正(配列の確保領域外へのアクセス)
author6638678 <6638678@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Fri, 23 Apr 2010 06:31:18 +0000 (06:31 +0000)
committer6638678 <6638678@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Fri, 23 Apr 2010 06:31:18 +0000 (06:31 +0000)
pick->virtualserver_ip[sizeof(pick->virtualserver_ip)] = '\0';

pick->virtualserver_ip[sizeof(pick->virtualserver_ip)-1] = '\0';

git-svn-id: http://10.144.169.20/repos/um/branches/l7vsd-3.x-ramiel-epoll-cond@10055 1ed66053-1c2d-0410-8867-f7571e6e31d3

l7vsd/module/protocol/ip_replication_data_processor.cpp
l7vsd/module/protocol/sslid_replication_data_processor.cpp

index df35345..6255c5d 100644 (file)
@@ -189,7 +189,7 @@ ip_replication_data_processor::ip_replication_data_processor(
                                        used);
                     strncpy(pick->virtualserver_ip, virtual_service_endpoint.address().to_string().c_str(),
                             sizeof(pick->virtualserver_ip)-1);
-                    pick->virtualserver_ip[sizeof(pick->virtualserver_ip)] = '\0';
+                    pick->virtualserver_ip[sizeof(pick->virtualserver_ip)-1] = '\0';
                     pick->virtualserver_port = virtual_service_endpoint.port();
                     pick->size = IP_REPLICATION_MAXLENGTH * sizeof(ip_replication_data);
                     pick->offset = sizeof(ip_replication_data_header) * IP_SERVICE_NUMBER +
index 773a522..549d276 100644 (file)
@@ -218,7 +218,7 @@ sslid_replication_data_processor::sslid_replication_data_processor(
                         memset(sslid_replication_area_begain + head->offset, 0, head->size);
                         strncpy(pick->virtualserver_ip, virtual_service_endpoint.address().to_string().c_str(),
                                 sizeof(pick->virtualserver_ip)-1);
-                        pick->virtualserver_ip[sizeof(pick->virtualserver_ip)] = '\0';
+                        pick->virtualserver_ip[sizeof(pick->virtualserver_ip)-1] = '\0';
                         pick->virtualserver_port = virtual_service_endpoint.port();
                         pick->size = maxlist * sizeof(sslid_replication_data);
                         pick->offset = sizeof(sslid_replication_data_header) * SSLID_SERVICE_NUMBER +
@@ -297,7 +297,7 @@ sslid_replication_data_processor::sslid_replication_data_processor(
                                        used);
                     strncpy(pick->virtualserver_ip, virtual_service_endpoint.address().to_string().c_str(),
                             sizeof(pick->virtualserver_ip)-1);
-                    pick->virtualserver_ip[sizeof(pick->virtualserver_ip)] = '\0';
+                    pick->virtualserver_ip[sizeof(pick->virtualserver_ip)-1] = '\0';
                     pick->virtualserver_port = virtual_service_endpoint.port();
                     pick->size = maxlist * sizeof(sslid_replication_data);
                     pick->offset = sizeof(sslid_replication_data_header) * SSLID_SERVICE_NUMBER +