diff options
Diffstat (limited to 'daemon/client.c')
-rw-r--r-- | daemon/client.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/daemon/client.c b/daemon/client.c index 80bc0c7..ac1045a 100644 --- a/daemon/client.c +++ b/daemon/client.c @@ -520,14 +520,17 @@ static void process_recv(struct mux_client *client) usbmuxd_log(LL_INFO, "Client %d version mismatch: expected %d, got %d", client->fd, USBMUXD_PROTOCOL_VERSION, hdr->version); #endif client_close(client); + return; } if(hdr->length > client->ib_capacity) { usbmuxd_log(LL_INFO, "Client %d message is too long (%d bytes)", client->fd, hdr->length); client_close(client); + return; } if(hdr->length < sizeof(struct usbmuxd_header)) { usbmuxd_log(LL_ERROR, "Client %d message is too short (%d bytes)", client->fd, hdr->length); client_close(client); + return; } if(client->ib_size < hdr->length) { if(did_read) |