diff --git a/Kernel/Net/TCPSocket.cpp b/Kernel/Net/TCPSocket.cpp index 9bc5d57fb8..a82d6bfcc9 100644 --- a/Kernel/Net/TCPSocket.cpp +++ b/Kernel/Net/TCPSocket.cpp @@ -130,7 +130,7 @@ void TCPSocket::release_for_accept(RefPtr socket) [[maybe_unused]] auto rc = queue_connection_from(*socket); } -TCPSocket::TCPSocket(int protocol, NonnullOwnPtr receive_buffer, OwnPtr scratch_buffer) +TCPSocket::TCPSocket(int protocol, NonnullOwnPtr receive_buffer, NonnullOwnPtr scratch_buffer) : IPv4Socket(SOCK_STREAM, protocol, move(receive_buffer), move(scratch_buffer)) { m_last_retransmit_time = kgettimeofday(); @@ -154,7 +154,7 @@ KResultOr> TCPSocket::try_create(int protocol, NonnullO if (!scratch_buffer) return ENOMEM; - return adopt_nonnull_ref_or_enomem(new (nothrow) TCPSocket(protocol, move(receive_buffer), move(scratch_buffer))); + return adopt_nonnull_ref_or_enomem(new (nothrow) TCPSocket(protocol, move(receive_buffer), scratch_buffer.release_nonnull())); } KResultOr TCPSocket::protocol_receive(ReadonlyBytes raw_ipv4_packet, UserOrKernelBuffer& buffer, size_t buffer_size, [[maybe_unused]] int flags) diff --git a/Kernel/Net/TCPSocket.h b/Kernel/Net/TCPSocket.h index f588b77af4..ccbaf9922d 100644 --- a/Kernel/Net/TCPSocket.h +++ b/Kernel/Net/TCPSocket.h @@ -165,7 +165,7 @@ protected: void set_direction(Direction direction) { m_direction = direction; } private: - explicit TCPSocket(int protocol, NonnullOwnPtr receive_buffer, OwnPtr scratch_buffer); + explicit TCPSocket(int protocol, NonnullOwnPtr receive_buffer, NonnullOwnPtr scratch_buffer); virtual StringView class_name() const override { return "TCPSocket"; } virtual void shut_down_for_writing() override;