diff options
Diffstat (limited to '')
| -rw-r--r-- | src/core/hle/service/sockets/bsd.cpp | 6 |
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 | ||