From patchwork Fri Mar 29 22:47:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maks Mishin X-Patchwork-Id: 87840 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B68EF3858D39 for ; Fri, 29 Mar 2024 22:47:46 +0000 (GMT) X-Original-To: elfutils-devel@sourceware.org Delivered-To: elfutils-devel@sourceware.org Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com [IPv6:2a00:1450:4864:20::12b]) by sourceware.org (Postfix) with ESMTPS id E61553858D33 for ; Fri, 29 Mar 2024 22:47:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E61553858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E61553858D33 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::12b ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711752457; cv=none; b=X//UWY3Y0jF9cIzb6aIDpSVYvGGqw5u7Qe0tt/3l3m2pwus0HlWdAmUaD5Arr9AXMEWGAe9u8Va0h7Z9ZE/hEDTJBgWHA/gizdfw3Qnwn/o4ekdCDnsYb0lREn5kUKyHXXIkkfox3DQj3o9nRzFhPyMzreprBrmEtNSheOjjuDo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711752457; c=relaxed/simple; bh=hD83NJy3gg2fU2K0E6/zZgbl0IzC3VIzlG8ewojmc+c=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=oTkxP6nQ8gn6x8q/FB7RRY5zDDAbrUF2Gdk4SDJfFBuQncxtS6jSqRvcgKWedVU/xJVOafWqFQPdOM9laH7tpS/2VUhZvGLLM5UzE/pqzOb8xrfLL5QhqZdB0XiI9Z4yWFKT8ZlTZ80KnT/8i4Q/MJ2AqYtIZRHeMcjGzQbAgqA= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-lf1-x12b.google.com with SMTP id 2adb3069b0e04-515c50dc2afso2559805e87.1 for ; Fri, 29 Mar 2024 15:47:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711752454; x=1712357254; darn=sourceware.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=fbm3jtXZWdM6weolNpDNCqBFteZ8v+oBHBJRnHx8Dww=; b=JmgMb38IcJVJnruweW9cCi8As4zx3oaZJSq15hlxRIstdnhPa/I0A1M+HrpEvHduNH vAOtOGSvKWQDdOYxmErxhI1MtAYr1mbPfG4i3nOu3Z8at93VQrwa4OIqmBkAodZu33b2 lOrl7DmWL2Uytk7hMak40NVNYeQ7dRYgYIUt/qLQtL8TX0JlgfZc0ZW5kZ1LQ5Q/WKx3 IvN+UBHUoTRYERiCK8GOBkvNDtBqaaYCo0Hf6tU2vLqb4ApqoGPwGSQ880wvjEd7ufpr SFDDWY7rqodyXmn1Bg9JwF50SfVyhVLkkIYiH0Ps7Cbx1clhY9TRokdrWcCcEMWMsqRG Ey/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711752454; x=1712357254; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=fbm3jtXZWdM6weolNpDNCqBFteZ8v+oBHBJRnHx8Dww=; b=IzUqJs7pu1qrgZUhTXK+IfLvGiYFV5YnxNTnGzCI770wmOCjPUEnLR99dI/BQ9yZ8E /mq7wJU7PXeGY5OeouVfJpb+IiJyUTJrTm4Ykx8Z6zZ03DKndwIuGl7WzhSMfhTlhWDr hTL3YYsn1Vqi19bQeFQb3LoxtVv33isSd9qHfqBFUD1ljH09djGUnX2/b9artrHPpWwr JY9GLOJ9H4P4muIWzr3GSjifyXCIGqOXu4kZHkhUdHzZfYgaG/WIYCwTBUj5J/N8SJRz aJGCopJ44M+nwoaL3VFEFRqvliPQS53FFuRUne3rKu+8H5vYWHTZXqEJuGC3cks/nIWX z+lA== X-Gm-Message-State: AOJu0YzaB0l6p0PopqejBB4Zkise54uIcl/bdzHmOdKM2b/yGvrP22rK 4ZYIJ7nTB7jILoE2JOOeQHlE6flPtIH0PrMKf090BfQKsL4ut3d+0O9YDqNF X-Google-Smtp-Source: AGHT+IFbjyXO4pjUhBr/dx4BzzayImtOk8itN/RoGMCnwKA6V+VE5csXLSgx4hT1EHrn+M5NUyfpzQ== X-Received: by 2002:a05:6512:3ca6:b0:513:ec32:aa81 with SMTP id h38-20020a0565123ca600b00513ec32aa81mr3228660lfv.13.1711752453485; Fri, 29 Mar 2024 15:47:33 -0700 (PDT) Received: from mishin.sarov.local (95-37-71-41.dynamic.mts-nn.ru. [95.37.71.41]) by smtp.gmail.com with ESMTPSA id q10-20020a0565123a8a00b00513c54ba806sm743343lfu.96.2024.03.29.15.47.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Mar 2024 15:47:33 -0700 (PDT) From: Maks Mishin X-Google-Original-From: Maks Mishin To: elfutils-devel@sourceware.org Cc: Maks Mishin Subject: [PATCH] readelf: Fix deref-of-null in handle_core_item() Date: Sat, 30 Mar 2024 01:47:30 +0300 Message-Id: <20240329224730.31706-1-maks.mishinFZ@gmail.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: elfutils-devel@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Elfutils-devel mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: elfutils-devel-bounces+patchwork=sourceware.org@sourceware.org Return value of a function 'gelf_getehdr' is dereferenced without checking for NULL, but it is usually checked for this function. Found by RASU JSC. Signed-off-by: Maks Mishin --- src/readelf.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/readelf.c b/src/readelf.c index 0e931184..f2ec358f 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -12440,6 +12440,13 @@ handle_core_item (Elf *core, const Ebl_Core_Item *item, const void *desc, field went into the high half of USEC. */ GElf_Ehdr ehdr_mem; GElf_Ehdr *ehdr = gelf_getehdr (core, &ehdr_mem); + + if (ehdr == NULL) + { + error (0, 0, _("cannot read ELF header: %s"), elf_errmsg (-1)); + return; + } + if (likely (ehdr->e_ident[EI_DATA] == ELFDATA2MSB)) usec >>= 32; else