Skip to content

Commit

Permalink
Merge pull request #63 from swhitty/issue/62-address-leak
Browse files Browse the repository at this point in the history
Fix buffer leak
  • Loading branch information
swhitty authored Aug 3, 2023
2 parents 8b195ab + d4212cc commit 4b925ad
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions FlyingSocks/Sources/SocketAddress.swift
Original file line number Diff line number Diff line change
Expand Up @@ -125,13 +125,15 @@ extension Socket {
var addr_in = try sockaddr_in.make(from: addr)
let maxLength = socklen_t(INET_ADDRSTRLEN)
let buffer = UnsafeMutablePointer<CChar>.allocate(capacity: Int(maxLength))
defer { buffer.deallocate() }
try Socket.inet_ntop(AF_INET, &addr_in.sin_addr, buffer, maxLength)
return .ip4(String(cString: buffer), port: UInt16(addr_in.sin_port).byteSwapped)

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

Expand Down

0 comments on commit 4b925ad

Please sign in to comment.