From patchwork Mon Jun 4 15:14:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 925077 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amsat.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="JYRfeNPz"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40zz5D0JjZz9s0W for ; Tue, 5 Jun 2018 01:15:10 +1000 (AEST) Received: from localhost ([::1]:40281 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fPrCN-0005go-U9 for incoming@patchwork.ozlabs.org; Mon, 04 Jun 2018 11:15:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36485) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fPrBr-0005gI-6D for qemu-devel@nongnu.org; Mon, 04 Jun 2018 11:14:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fPrBp-0001eg-4d for qemu-devel@nongnu.org; Mon, 04 Jun 2018 11:14:35 -0400 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:35201) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fPrBo-0001eS-Vo for qemu-devel@nongnu.org; Mon, 04 Jun 2018 11:14:33 -0400 Received: by mail-qk0-x242.google.com with SMTP id d130-v6so19787158qkc.2 for ; Mon, 04 Jun 2018 08:14:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=lRQ7XRz/IK1ThiJ+LRd5RXsB4JqOMjc+zouvRLcT92I=; b=JYRfeNPzmeJ/G9tIgW8W7H5Ua2ppuRCvgCjCVrzT65XNm6vNK5H56whPveg1kw5eqF 6hj3vFYrtiisc6FX6fGcutaex4kGy8/gOyyhfnmv/9QvL9d4eNBkc7YVFB8sH0BYVoUS FbKqpB4wHEo0fGLBTj+J1wC7Ayb9O0O7UvrohiMeGvdjlKru3AFugF+LXK/nUWXQrPzz 2VMIhAH3Ksp8md1U/gvSs4Alh9AE2Y4VqPgIskBwkiAVHQXFJpLRgfKCDEgM61uRWMpf pNcViz3OGR5X71uN3wNOUfoTzLhl7RdquEMkpYW23/W6Mh4YJQHgMaHtibE7Shz6asAZ qyIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=lRQ7XRz/IK1ThiJ+LRd5RXsB4JqOMjc+zouvRLcT92I=; b=FwENEsjMeCbwnCdY4adA1VCI4zsofowQpQ7mUcXk3exRK4tupBJC/bBPCeijvtXq8o XqeQZBsO98/4xg2xPPRkFqoqKwvF5gg+2870wMOxIAxBXPbFQSwu2iLqeO+jnnQ5N00t HOaRqipayV1Vw2HVGWzFD0aMjmGeprs0BX0M44IOxWyc1nq+IdPzM3WEb55j8fMHosef UMwM09CZAjcIjqt+EnsNpslZnjOBgOLrDxaW4N1mib4ZpQQCwSyEHg9MuJ4LRss0H1Qn ZL1FEUbPzHq1XD9+HM0xvRhmukgc4zutq8FYtT33uMNqTuouDrYxf2++A5pnN6WAIyaJ VKBQ== X-Gm-Message-State: APt69E0F2RvEOASsH+UN2tBErbuf0lb2iBzC1AzJWUToUssaADJuBFWF BpGkSomQkdae4t/5PnuFhoU= X-Google-Smtp-Source: ADUXVKKWJ8WzWKpkVgcz/6VVS11I6j2RmRcuQJ2R+Ih+sdaAPzzvHjfK2XJS8VK6sTfuRy3cYP1IiA== X-Received: by 2002:a37:6f01:: with SMTP id k1-v6mr19294328qkc.140.1528125272527; Mon, 04 Jun 2018 08:14:32 -0700 (PDT) Received: from x1.local ([138.117.48.222]) by smtp.gmail.com with ESMTPSA id f9-v6sm18192856qtl.96.2018.06.04.08.14.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Jun 2018 08:14:31 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: Gerd Hoffmann Date: Mon, 4 Jun 2018 12:14:19 -0300 Message-Id: <20180604151421.23385-2-f4bug@amsat.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180604151421.23385-1-f4bug@amsat.org> References: <20180604151421.23385-1-f4bug@amsat.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH v2 1/3] usb: correctly handle Zero Length Packets X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" USB Specification Revision 2.0, §5.5.3: The Data stage of a control transfer from an endpoint to the host is complete when the endpoint does one of the following: • Has transferred exactly the amount of data specified during the Setup stage • Transfers a packet with a payload size less than wMaxPacketSize or transfers a zero-length packet" hw/usb/redirect.c:802:9: warning: Declared variable-length array (VLA) has zero size uint8_t buf[size]; ^~~~~~~~~~~ ~~~~ Reported-by: Clang Static Analyzer Signed-off-by: Philippe Mathieu-Daudé --- hw/usb/redirect.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c index 65a9196c1a..58e8f7f5bd 100644 --- a/hw/usb/redirect.c +++ b/hw/usb/redirect.c @@ -795,7 +795,7 @@ static void usbredir_handle_bulk_data(USBRedirDevice *dev, USBPacket *p, usbredirparser_peer_has_cap(dev->parser, usb_redir_cap_32bits_bulk_length)); - if (ep & USB_DIR_IN) { + if (ep & USB_DIR_IN || size == 0) { usbredirparser_send_bulk_packet(dev->parser, p->id, &bulk_packet, NULL, 0); } else {