From patchwork Thu Jul 4 16:29:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Colin Ian King X-Patchwork-Id: 1127634 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=fwts-devel-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 45fk2K4GDfz9sBp; Fri, 5 Jul 2019 02:29:12 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1hj4bd-0007tf-UI; Thu, 04 Jul 2019 16:29:09 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.86_2) (envelope-from ) id 1hj4bc-0007tA-4a for fwts-devel@lists.ubuntu.com; Thu, 04 Jul 2019 16:29:08 +0000 Received: from 1.general.cking.uk.vpn ([10.172.193.212] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1hj4bb-0007XS-PY; Thu, 04 Jul 2019 16:29:07 +0000 From: Colin King To: fwts-devel@lists.ubuntu.com Subject: [PATCH] acpi: method: add more null pointer sanity checks on resource Date: Thu, 4 Jul 2019 17:29:07 +0100 Message-Id: <20190704162907.11910-1-colin.king@canonical.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-BeenThere: fwts-devel@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Firmware Test Suite Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: fwts-devel-bounces@lists.ubuntu.com Sender: "fwts-devel" From: Colin Ian King The pointer resource could possibly be null or even a garbage value when it is dereferenced causing a segmentation fault, so be extra vigilent, nullify it to start with and add a null pointer check to avoid this. Addresses-Coverity: ("Uninitialized pointer read") Fixes: 2a377d8ec8c3 ("acpi: method: add _PTC test") Signed-off-by: Colin Ian King Acked-by: Alex Hung Acked-by: Ivan Hu --- src/acpi/method/method.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/acpi/method/method.c b/src/acpi/method/method.c index 67a54465..37f6068d 100644 --- a/src/acpi/method/method.c +++ b/src/acpi/method/method.c @@ -2538,12 +2538,12 @@ static void method_test_PTC_return( return; for (i = 0; i < obj->Package.Count; i++) { - ACPI_RESOURCE *resource; + ACPI_RESOURCE *resource = NULL; ACPI_STATUS status; ACPI_OBJECT *element_buf = &obj->Package.Elements[i]; status = AcpiBufferToResource(element_buf->Buffer.Pointer, element_buf->Buffer.Length, &resource); - if (ACPI_FAILURE(status)) { + if (ACPI_FAILURE(status) || !resource) { failed = true; fwts_failed(fw, LOG_LEVEL_HIGH, "Method_PTCBadElement",