From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by mx.groups.io with SMTP id smtpd.web10.103125.1674829614885500978 for ; Fri, 27 Jan 2023 06:26:54 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=JKzRUWmp; spf=pass (domain: gmail.com, ip: 209.85.216.50, mailfrom: pedro.falcato@gmail.com) Received: by mail-pj1-f50.google.com with SMTP id n20-20020a17090aab9400b00229ca6a4636so8845131pjq.0 for ; Fri, 27 Jan 2023 06:26:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=8EueKjV4ACT0n+ckHEePF+IUuPHLhSNBfYmUlqtgkAQ=; b=JKzRUWmpiWWvwbkzWbLlltaxCWZPMLVC0S0B44e5y8t3v8j59jI5WLhtGoxSWuCiKb bA8mErr8NUujznnC+GR/41zgBjLYTgJMdrCH0i+iRRrAvI7uc5UvOhNQxSI5ixqtBMRr J5uZVDBV+VXAjB5JbNIWvfNiiIzszn9vqNv7SrpSBDTdN+iecUdCEEvVQ3KUCXH4JdD0 LyfdY8aASi/cCBEzaQX1SspGam6CkWXV9GTx0PRGjtuV2mS7fPXxEoGV/NUtEhT0TxzD 4Kriy5uWal5g0vPs+hVvZAWniKLodK/pH17qPbcll1e7RtlG1pTcIQae7kDswar0n2ZE xMZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8EueKjV4ACT0n+ckHEePF+IUuPHLhSNBfYmUlqtgkAQ=; b=hkhv7IDAwbSZZUoea4Zs0pFiPFydBfC/7LafdVySilQRBtXmM32Cwo3gKVODRH9yLn +7RHA2vDG+racNHvQuEkNerjxuUbIz0poY1Maj/iO1KhD6j831N6pZT/xtFtTo9OuGCM XgnuMFnD+7O16tFLEM0Tlbo19uh8kxzYsKVIM4a84gq5iYWY2IRVkQRni1a1XWUa4jiS b+2OHoRSktrCb3Zs8AarTvk+98Ngs/unBfu3hCXsesWN+2jc/f+5YWPf6vYuuN9Nwc6O Ch0x1jMLvMSRXpTNAdgrT99KJCDreIgfQow+DEChneiXOx0YTrdnS+iPNgGRGeY+V4sR p9Gg== X-Gm-Message-State: AO0yUKVsnXLrDMA6ZTqy3uyOXo5UPha+yE2Bu+rWRUxmIk6sdI3bgSFR EJKVuLgVQZqMcE/vN1H7Vv161yPMKowg7L+4c5A= X-Google-Smtp-Source: AK7set8LRLKA0tayLxtyUBKvuK3FyIicC8ABcpcGsF5zWpQ/RJaF2RFXG/culwRr7Za03No1JiVOOQq5gQICCXQ0iLk= X-Received: by 2002:a17:90a:4897:b0:22c:13f5:3345 with SMTP id b23-20020a17090a489700b0022c13f53345mr1242605pjh.37.1674829614392; Fri, 27 Jan 2023 06:26:54 -0800 (PST) MIME-Version: 1.0 References: <20230127092945.94389-1-savvamtr@gmail.com> <20230127092945.94389-8-savvamtr@gmail.com> In-Reply-To: <20230127092945.94389-8-savvamtr@gmail.com> From: "Pedro Falcato" Date: Fri, 27 Jan 2023 14:26:43 +0000 Message-ID: Subject: Re: [edk2-platforms][PATCH v3 07/11] Ext4Pkg: Check that source file is directory in Ext4OpenInternal To: Savva Mitrofanov Cc: devel@edk2.groups.io, =?UTF-8?Q?Marvin_H=C3=A4user?= , Vitaly Cheptsov Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Jan 27, 2023 at 9:29 AM Savva Mitrofanov wrote= : > > This check already present in the while loop below, but absent for cases > when input file is nameless, so to handle assertion in Ext4ReadFile we > need to add it at the top of function > > Cc: Marvin H=C3=A4user > Cc: Pedro Falcato > Cc: Vitaly Cheptsov > Fixes: d9ceedca6c8f ("Ext4Pkg: Add Ext4Dxe driver.") > Signed-off-by: Savva Mitrofanov > --- > Features/Ext4Pkg/Ext4Dxe/File.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/Features/Ext4Pkg/Ext4Dxe/File.c b/Features/Ext4Pkg/Ext4Dxe/F= ile.c > index 8dfe324255f4..9dde4a5d1a2d 100644 > --- a/Features/Ext4Pkg/Ext4Dxe/File.c > +++ b/Features/Ext4Pkg/Ext4Dxe/File.c > @@ -207,6 +207,11 @@ Ext4OpenInternal ( > Level =3D 0; > > DEBUG ((DEBUG_FS, "[ext4] Ext4OpenInternal %s\n", FileName)); > + > + if (!Ext4FileIsDir (Current)) { > + return EFI_INVALID_PARAMETER; > + } > + > // If the path starts with a backslash, we treat the root directory as= the base directory > if (FileName[0] =3D=3D L'\\') { > FileName++; > @@ -219,6 +224,10 @@ Ext4OpenInternal ( > return EFI_ACCESS_DENIED; > } > > + if (!Ext4FileIsDir (Current)) { > + return EFI_INVALID_PARAMETER; > + } > + > // Discard leading path separators > while (FileName[0] =3D=3D L'\\') { > FileName++; > @@ -242,10 +251,6 @@ Ext4OpenInternal ( > > DEBUG ((DEBUG_FS, "[ext4] Opening %s\n", PathSegment)); > > - if (!Ext4FileIsDir (Current)) { > - return EFI_INVALID_PARAMETER; > - } > - > if (!Ext4IsLastPathSegment (FileName)) { > if (!Ext4DirCanLookup (Current)) { > return EFI_ACCESS_DENIED; > -- > 2.39.0 > Reviewed-by: Pedro Falcato --=20 Pedro