public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Hao Wu <hao.a.wu@intel.com>
To: edk2-devel@lists.01.org
Cc: Hao Wu <hao.a.wu@intel.com>
Subject: [PATCH 0/6] Refine type cast for pointer subtraction
Date: Tue, 24 Jan 2017 15:50:57 +0800	[thread overview]
Message-ID: <1485244258-12316-1-git-send-email-hao.a.wu@intel.com> (raw)

Please note that this patch is maily for feedback collection and the only
the MdeModulePkg part of the series is sent out firstly.


For pointer subtraction, the result is of type "ptrdiff_t". According to
the C11 spec, ptrdiff_t is a signed integer type but its size is
implementation-defined.

There are cases that the result of pointer subtraction is type casted to
UINTN, like:

UINT8  *Ptr1, *Ptr2;
UINTN  PtrDiff;
...
PtrDiff = (UINTN) (Ptr1 - Ptr2);

Some static code checkers may warn that the pointer subtraction might
overflow first and then the result is being cast to a bigger size.

The series will cast each pointer to UINTN first and then perform the
subtraction:

PtrDiff = (UINTN) Ptr1 - (UINTN) Ptr2;


Hao Wu (6):
  MdeModulePkg: Refine type cast for pointer subtraction
  CryptoPkg: Refine type cast for pointer subtraction
  IntelFrameworkModulePkg: Refine type cast for pointer subtraction
  NetworkPkg: Refine type cast for pointer subtraction
  SecurityPkg: Refine type cast for pointer subtraction
  ShellPkg: Refine type cast for pointer subtraction

 .../BaseCryptLib/SysCall/RuntimeMemAllocation.c        |  6 +++---
 IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyPci.c  |  4 ++--
 .../Library/GenericBdsLib/BdsBoot.c                    |  4 ++--
 .../Library/GenericBdsLib/BdsConsole.c                 |  4 ++--
 .../Library/GenericBdsLib/BdsMisc.c                    |  4 ++--
 .../Library/LegacyBootManagerLib/LegacyBm.c            |  4 ++--
 .../Universal/BdsDxe/BootMaint/BootOption.c            |  6 +++---
 MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c   |  4 ++--
 MdeModulePkg/Include/Library/NetLib.h                  |  6 +++---
 MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c  |  4 ++--
 .../Library/DxePrintLibPrint2Protocol/PrintLib.c       |  2 +-
 MdeModulePkg/Library/FileExplorerLib/FileExplorer.c    |  6 +++---
 .../Library/PiDxeS3BootScriptLib/BootScriptSave.c      |  4 ++--
 MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c |  4 ++--
 MdeModulePkg/Universal/DebugPortDxe/DebugPort.c        |  4 ++--
 .../FaultTolerantWriteDxe/FaultTolerantWrite.c         |  4 ++--
 MdeModulePkg/Universal/HiiDatabaseDxe/Image.c          |  4 ++--
 MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c  | 10 +++++-----
 NetworkPkg/HttpDxe/HttpImpl.c                          |  6 +++---
 .../DxeImageVerificationLib/DxeImageVerificationLib.c  | 18 +++++++++---------
 .../DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.c        | 10 +++++-----
 SecurityPkg/Library/Tpm2CommandLib/Tpm2Help.c          |  6 +++---
 SecurityPkg/Tcg/Tcg2Dxe/MeasureBootPeCoff.c            | 10 +++++-----
 SecurityPkg/Tcg/TrEEDxe/MeasureBootPeCoff.c            | 10 +++++-----
 .../SecureBootConfigDxe/SecureBootConfigImpl.c         | 14 +++++++-------
 ShellPkg/Application/Shell/ShellParametersProtocol.c   |  6 +++---
 ShellPkg/Library/UefiShellDebug1CommandsLib/DmpStore.c |  4 ++--
 .../UefiShellDebug1CommandsLib/SmbiosView/SmbiosView.c |  4 ++--
 ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c      |  4 ++--
 ShellPkg/Library/UefiShellLevel2CommandsLib/Cd.c       |  6 +++---
 30 files changed, 91 insertions(+), 91 deletions(-)

-- 
1.9.5.msysgit.0



             reply	other threads:[~2017-01-24  7:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-24  7:50 Hao Wu [this message]
2017-01-24  7:50 ` [PATCH 1/6] MdeModulePkg: Refine type cast for pointer subtraction Hao Wu
2017-01-24 10:14   ` Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1485244258-12316-1-git-send-email-hao.a.wu@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox