From patchwork Thu Sep 21 08:40:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johan Hovold X-Patchwork-Id: 44387 X-Patchwork-Delegate: hverkuil@xs4all.nl Received: from vger.kernel.org ([209.132.180.67]) by www.linuxtv.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dux2d-0001tc-2D; Thu, 21 Sep 2017 08:41:03 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751920AbdIUIko (ORCPT + 1 other); Thu, 21 Sep 2017 04:40:44 -0400 Received: from mail-lf0-f66.google.com ([209.85.215.66]:37086 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751635AbdIUIkn (ORCPT ); Thu, 21 Sep 2017 04:40:43 -0400 Received: by mail-lf0-f66.google.com with SMTP id q132so2612941lfe.4; Thu, 21 Sep 2017 01:40:42 -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; bh=/Vq4JUNv1in9/XJtTq93S4zyy0G27TDqPPATUTTlNqE=; b=bT+NGFq+EGb/mEHObfUmi2gUf/4JLXib4TfcqmYIp9sV91HGpypfkKRAW/sj1DOv6C dX3bOw+A9ROrgdU8Mzh503J2fhkmRi1GdDV0ARUN7N+jOFxTZftj95L21FSAcJodR95O LK85YUJcnUCCretIaEMqxpnVl6pxU+PknqRoeKMexKsoFXkKMX78oX4e63nDljuqbE0l 0SO2NwM34h/FecOr3wIuf9V9e21b4AK7S7JPV2Tg5OYxQz2LwPvQ7ybm0qjfk8oWwLzd BhTs6PTmyiA3xsT5LCApZPbKPjChDrCnSjY8X5TaRoNnduqu519aG5QrixgNtaSwsOgH n83g== 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; bh=/Vq4JUNv1in9/XJtTq93S4zyy0G27TDqPPATUTTlNqE=; b=t4QmhxcSNok4wgyvpnF9qU6M38z0WH4iHFpQNwc3oZARWg5IMKJGNz3KMcrzIPc2p3 FZ+GsAG/AVxr/SgFxyUV9li/B/NAZxQpBgaxgQ8z5eGCW5q30t7FW9Ov13hSgcTk+qOG WycOxdrDrVuMeHJ+5Py1NbZd7Adw03Tq55XYRvm1daBOz8lzaqQsIzLMYaicAFmqtOwj w7fCv2EfljVj8pSQOFpkr8CuDSwY893KP2MfbuYQ2mvaKnNBqRTdjyVuF6UUz2mPLyzu vn2gL0yeLdDp7Sykn26CzfHtk8nkesvp2HzvHJT2QktcKZFmUH5jnwvFox//Bg7ld+mS tqgQ== X-Gm-Message-State: AHPjjUiAcXJ2FKt5ojK9AAJlfP29DeqNFQ6mo2C0k6KgVfbSmCjHBHsJ 50rhNjfV6mrvKyn5jmusexI= X-Google-Smtp-Source: AOwi7QDVk3ZnK7wWl522UdLtW2exDwY8yV4LXgwiRIk+mCPOHZC+H8bCNIDFN7M0UFNKZVUKMuBs/Q== X-Received: by 10.25.148.145 with SMTP id o17mr531926lfk.82.1505983241387; Thu, 21 Sep 2017 01:40:41 -0700 (PDT) Received: from xi.terra (c-fab8e655.07-184-6d6c6d4.cust.bredbandsbolaget.se. [85.230.184.250]) by smtp.gmail.com with ESMTPSA id 88sm173437ljc.74.2017.09.21.01.40.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Sep 2017 01:40:40 -0700 (PDT) Received: from johan by xi.terra with local (Exim 4.89) (envelope-from ) id 1dux2E-0007wo-P7; Thu, 21 Sep 2017 10:40:38 +0200 From: Johan Hovold To: Mauro Carvalho Chehab , Andrey Konovalov Cc: Hans Verkuil , Oleh Kravchenko , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Dmitry Vyukov , Kostya Serebryany , syzkaller@googlegroups.com, Johan Hovold , stable , Sri Deevi Subject: [PATCH] [media] cx231xx-cards: fix NULL-deref on missing association descriptor Date: Thu, 21 Sep 2017 10:40:18 +0200 Message-Id: <20170921084018.30510-1-johan@kernel.org> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170921083739.GI3198@localhost> References: <20170921083739.GI3198@localhost> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Make sure to check that we actually have an Interface Association Descriptor before dereferencing it during probe to avoid dereferencing a NULL-pointer. Fixes: e0d3bafd0258 ("V4L/DVB (10954): Add cx231xx USB driver") Cc: stable # 2.6.30 Cc: Sri Deevi Reported-by: Andrey Konovalov Signed-off-by: Johan Hovold Tested-by: Andrey Konovalov --- drivers/media/usb/cx231xx/cx231xx-cards.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/usb/cx231xx/cx231xx-cards.c b/drivers/media/usb/cx231xx/cx231xx-cards.c index e0daa9b6c2a0..9b742d569fb5 100644 --- a/drivers/media/usb/cx231xx/cx231xx-cards.c +++ b/drivers/media/usb/cx231xx/cx231xx-cards.c @@ -1684,7 +1684,7 @@ static int cx231xx_usb_probe(struct usb_interface *interface, nr = dev->devno; assoc_desc = udev->actconfig->intf_assoc[0]; - if (assoc_desc->bFirstInterface != ifnum) { + if (!assoc_desc || assoc_desc->bFirstInterface != ifnum) { dev_err(d, "Not found matching IAD interface\n"); retval = -ENODEV; goto err_if;