summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/sockets/bsd.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp
index 0b306b87a..78e9cd708 100644
--- a/src/core/hle/service/sockets/bsd.cpp
+++ b/src/core/hle/service/sockets/bsd.cpp
@@ -453,7 +453,8 @@ std::pair<s32, Errno> BSD::SocketImpl(Domain domain, Type type, Protocol protoco
453 return {-1, Errno::MFILE}; 453 return {-1, Errno::MFILE};
454 } 454 }
455 455
456 FileDescriptor& descriptor = file_descriptors[fd].emplace(); 456 file_descriptors[fd] = FileDescriptor{};
457 FileDescriptor& descriptor = *file_descriptors[fd];
457 // ENONMEM might be thrown here 458 // ENONMEM might be thrown here
458 459
459 LOG_INFO(Service, "New socket fd={}", fd); 460 LOG_INFO(Service, "New socket fd={}", fd);
@@ -548,7 +549,8 @@ std::pair<s32, Errno> BSD::AcceptImpl(s32 fd, std::vector<u8>& write_buffer) {
548 return {-1, Translate(bsd_errno)}; 549 return {-1, Translate(bsd_errno)};
549 } 550 }
550 551
551 FileDescriptor& new_descriptor = file_descriptors[new_fd].emplace(); 552 file_descriptors[new_fd] = FileDescriptor{};
553 FileDescriptor& new_descriptor = *file_descriptors[new_fd];
552 new_descriptor.socket = std::move(result.socket); 554 new_descriptor.socket = std::move(result.socket);
553 new_descriptor.is_connection_based = descriptor.is_connection_based; 555 new_descriptor.is_connection_based = descriptor.is_connection_based;
554 556