Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
executor/common_lunux.h/usbip_server_init: Close fd if can't find usb…
Browse files Browse the repository at this point in the history
… port

If usb port for usbip server can't be found, fd of the server and client should be closed.

If they don't closed, the number of open files will increase and may overflow the number of available open files.

Signed-off-by: Pavel Nikulshin <[email protected]>
AKSUMRUS committed Jun 26, 2024
1 parent 6271cc7 commit 9211c38
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions executor/common_linux.h
Original file line number Diff line number Diff line change
@@ -2051,6 +2051,9 @@ static long syz_usbip_server_init(volatile long a0)
int available_port_num = __atomic_fetch_add(&port_alloc[usb3], 1, __ATOMIC_RELAXED);
if (available_port_num > VHCI_HC_PORTS) {
debug("syz_usbip_server_init : no more available port for : %d\n", available_port_num);

close(client_fd);
close(server_fd);
return -1;
}

@@ -2067,6 +2070,8 @@ static long syz_usbip_server_init(volatile long a0)
sprintf(buffer, "%d %d %s %d", port_num, client_fd, "0", speed);

write_file("/sys/devices/platform/vhci_hcd.0/attach", buffer);

close(client_fd);
return server_fd;
}

0 comments on commit 9211c38

Please sign in to comment.