From patchwork Wed May 8 03:06:30 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Hu X-Patchwork-Id: 242493 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 64AE32C0117 for ; Wed, 8 May 2013 13:06:45 +1000 (EST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1UZuiJ-0006KW-VU; Wed, 08 May 2013 03:06:43 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1UZuiE-0006Hz-2h for fwts-devel@lists.ubuntu.com; Wed, 08 May 2013 03:06:38 +0000 Received: from [175.41.48.77] (helo=canonical.com) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1UZuiD-0007Ls-Ef; Wed, 08 May 2013 03:06:38 +0000 From: Ivan Hu To: fwts-devel@lists.ubuntu.com Subject: [PATCH] uefirtvariable: fix the unchecked return value Date: Wed, 8 May 2013 11:06:30 +0800 Message-Id: <1367982391-27560-1-git-send-email-ivan.hu@canonical.com> X-Mailer: git-send-email 1.7.9.5 X-BeenThere: fwts-devel@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Firmware Test Suite Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: fwts-devel-bounces@lists.ubuntu.com Sender: fwts-devel-bounces@lists.ubuntu.com Coverity CID #997310: Unchecked return value Need to check the return value for calling function "ioctl". Signed-off-by: Ivan Hu Acked-by: Colin Ian King Acked-by: Alex Hung --- src/uefi/uefirtvariable/uefirtvariable.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/uefi/uefirtvariable/uefirtvariable.c b/src/uefi/uefirtvariable/uefirtvariable.c index 16cd240..7c2fc1f 100644 --- a/src/uefi/uefirtvariable/uefirtvariable.c +++ b/src/uefi/uefirtvariable/uefirtvariable.c @@ -858,6 +858,7 @@ static int setvariable_invalidattr( EFI_GUID *gtestguid, const uint8_t datadiff) { + long ioret; struct efi_setvariable setvariable; uint64_t status; uint64_t dataindex; @@ -873,9 +874,9 @@ static int setvariable_invalidattr( setvariable.Data = data; setvariable.status = &status; - ioctl(fd, EFI_RUNTIME_SET_VARIABLE, &setvariable); + ioret = ioctl(fd, EFI_RUNTIME_SET_VARIABLE, &setvariable); - if (status == EFI_SUCCESS) { + if ((status == EFI_SUCCESS) && (ioret != -1)) { fwts_warning(fw, "After ExitBootServices() is performed, the " "attributes %" PRIu32 ", "