From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) by mx.groups.io with SMTP id smtpd.web10.20763.1628502715985312017 for ; Mon, 09 Aug 2021 02:51:56 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@posteo.de header.s=2017 header.b=c1P8b0kD; spf=pass (domain: posteo.de, ip: 185.67.36.65, mailfrom: mhaeuser@posteo.de) Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 47EA2240029 for ; Mon, 9 Aug 2021 11:51:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1628502713; bh=rsRaZycqk20p6U0vtbCp70l0LatKQn3VLX2Wvt8zEOc=; h=From:To:Cc:Subject:Date:From; b=c1P8b0kDfLgGUj6OmA8+xbjVCeSFpVVDe42nMi+Xlsgm9TxgrcHGNcGEtrQCj1K8l uu06S3TFo/TYBW/sWNq9zsW5dT40DCz1VE9vELNrOVUiuXv4nkQvGU9HPc5EHrR2el 1zfufxMmbQPzZVMszV71ozUvJsQ6tGVdmmWTnhhjPWifJxhfHPxCCbSKPgbNme7TYZ akF4XtGvzHgQpqNW5VdrulT6ckDymmMnndFFwyiQ8vxJCWQa2CWXOho7GhZNQK7g+R cwjJm19MdXo3zqfEh0f+qvYlZzFHqj9LpHkyV2lwxnX4uw+4w3G5Rlr3u2oMKDVvWa VNF/fEScI1BGA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Gjrvr4LY8z6tmQ; Mon, 9 Aug 2021 11:51:52 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Leif Lindholm , Ard Biesheuvel , Abner Chang , Daniel Schaefer , Vitaly Cheptsov Subject: [PATCH v2 3/7] EmbeddedPkg/GdbStub: Check DebugImageInfoTable type safely Date: Mon, 9 Aug 2021 09:51:28 +0000 Message-Id: <42cbdbb34573448bff594229f93ae99d8d792db0.1628502345.git.mhaeuser@posteo.de> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable C does not allow casting to or dereferencing incompatible pointer types. Use the ImageInfoType member of the union first to determine the data type before dereferencing NormalImage. Cc: Leif Lindholm Cc: Ard Biesheuvel Cc: Abner Chang Cc: Daniel Schaefer Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user --- EmbeddedPkg/GdbStub/GdbStub.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EmbeddedPkg/GdbStub/GdbStub.c b/EmbeddedPkg/GdbStub/GdbStub.c index 7f2a5ed20011..09167fdafb4d 100644 --- a/EmbeddedPkg/GdbStub/GdbStub.c +++ b/EmbeddedPkg/GdbStub/GdbStub.c @@ -1043,8 +1043,8 @@ QxferLibrary ( =0D if (gDebugTable !=3D NULL) {=0D for (; gEfiDebugImageTableEntry < gDebugImageTableHeader->TableSize; g= EfiDebugImageTableEntry++, gDebugTable++) {=0D - if (gDebugTable->NormalImage !=3D NULL) {=0D - if ((gDebugTable->NormalImage->ImageInfoType =3D=3D EFI_DEBUG_IMAG= E_INFO_TYPE_NORMAL) &&=0D + if (gDebugTable->ImageInfoType !=3D NULL) {=0D + if ((*gDebugTable->ImageInfoType =3D=3D EFI_DEBUG_IMAGE_INFO_TYPE_= NORMAL) &&=0D (gDebugTable->NormalImage->LoadedImageProtocolInstance !=3D NU= LL)) {=0D Pdb =3D PeCoffLoaderGetDebuggerInfo (=0D gDebugTable->NormalImage->LoadedImageProtocolInstance->Im= ageBase,=0D --=20 2.31.1