summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornicolas.dufresne@gmail.com <nicolas.dufresne@gmail.com@c587cffe-e639-0410-9787-d7902ae8ed56>2012-07-05 18:27:19 +0000
committernicolas.dufresne@gmail.com <nicolas.dufresne@gmail.com@c587cffe-e639-0410-9787-d7902ae8ed56>2012-07-05 18:27:19 +0000
commitb518056aecb64d7ce4097696a82a2b8afbfdcea5 (patch)
treeb5aa2ddf237e7f6bfe9c299bee121ace9bc81890
parentb10e25af87a374684d2b0079cc8a327365b49cf4 (diff)
downloadlibproxy-b518056aecb64d7ce4097696a82a2b8afbfdcea5.tar.gz
Fix mix usage of new[] and new
git-svn-id: http://libproxy.googlecode.com/svn/trunk@845 c587cffe-e639-0410-9787-d7902ae8ed56
-rw-r--r--libproxy/modules/ignore_ip.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/libproxy/modules/ignore_ip.cpp b/libproxy/modules/ignore_ip.cpp
index e1b99bd..709a08d 100644
--- a/libproxy/modules/ignore_ip.cpp
+++ b/libproxy/modules/ignore_ip.cpp
@@ -90,7 +90,7 @@ sockaddr_from_cidr(sa_family_t af, uint8_t cidr)
/* IPv4 */
if (af == AF_INET)
{
- sockaddr_in *mask = new sockaddr_in;
+ sockaddr_in *mask = (sockaddr_in*) new char[sizeof(sockaddr_in)];
mask->sin_family = af;
mask->sin_addr.s_addr = htonl(~0 << (32 - (cidr > 32 ? 32 : cidr)));
@@ -100,7 +100,7 @@ sockaddr_from_cidr(sa_family_t af, uint8_t cidr)
/* IPv6 */
else if (af == AF_INET6)
{
- sockaddr_in6 *mask = new sockaddr_in6;
+ sockaddr_in6 *mask = (sockaddr_in6*) new char[sizeof(sockaddr_in6)];
mask->sin6_family = af;
for (uint8_t i=0 ; i < sizeof(mask->sin6_addr) ; i++)
mask->sin6_addr.s6_addr[i] = ~0 << (8 - (8*i > cidr ? 0 : cidr-8*i < 8 ? cidr-8*i : 8) );
@@ -154,8 +154,8 @@ public:
if (ign_ip && net_ip && ign_ip->sa_family == net_ip->sa_family)
goto out;
- delete ign_ip;
- delete net_ip;
+ delete[] ign_ip;
+ delete[] net_ip;
ign_ip = NULL;
net_ip = NULL;
}