Skip to content

Commit 4b925ad

Browse files
authored
Merge pull request #63 from swhitty/issue/62-address-leak
Fix buffer leak
2 parents 8b195ab + d4212cc commit 4b925ad

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

FlyingSocks/Sources/SocketAddress.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,15 @@ extension Socket {
125125
var addr_in = try sockaddr_in.make(from: addr)
126126
let maxLength = socklen_t(INET_ADDRSTRLEN)
127127
let buffer = UnsafeMutablePointer<CChar>.allocate(capacity: Int(maxLength))
128+
defer { buffer.deallocate() }
128129
try Socket.inet_ntop(AF_INET, &addr_in.sin_addr, buffer, maxLength)
129130
return .ip4(String(cString: buffer), port: UInt16(addr_in.sin_port).byteSwapped)
130131

131132
case AF_INET6:
132133
var addr_in6 = try sockaddr_in6.make(from: addr)
133134
let maxLength = socklen_t(INET6_ADDRSTRLEN)
134135
let buffer = UnsafeMutablePointer<CChar>.allocate(capacity: Int(maxLength))
136+
defer { buffer.deallocate() }
135137
try Socket.inet_ntop(AF_INET6, &addr_in6.sin6_addr, buffer, maxLength)
136138
return .ip6(String(cString: buffer), port: UInt16(addr_in6.sin6_port).byteSwapped)
137139

0 commit comments

Comments
 (0)