avm2: Check is_connected in flush() and close()

This commit is contained in:
sleepycatcoding 2023-07-23 00:16:20 +03:00 committed by Nathan Adams
parent 5218bbf32f
commit 48fcc5ffe9
1 changed files with 8 additions and 0 deletions

View File

@ -84,6 +84,10 @@ pub fn close<'gc>(
.get_handle()
.ok_or(invalid_socket_error(activation))?;
if !activation.context.sockets.is_connected(handle) {
return Err(invalid_socket_error(activation));
}
let UpdateContext { sockets, .. } = &mut activation.context;
sockets.close(handle)
@ -196,6 +200,10 @@ pub fn flush<'gc>(
let handle = socket
.get_handle()
.ok_or(invalid_socket_error(activation))?;
if !activation.context.sockets.is_connected(handle) {
return Err(invalid_socket_error(activation));
}
let UpdateContext { sockets, .. } = &mut activation.context;
let mut buffer = socket.write_buffer();