mirror of https://github.com/acidanthera/audk.git
9de3067013
gcc-8 (which is part of Fedora 28) enables the new warning "-Wstringop-overflow" in "-Wall". This warning is documented in detail at <https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html>; the introduction says > Warn for calls to string manipulation functions such as memcpy and > strcpy that are determined to overflow the destination buffer. It breaks the BaseTools build with: > GenVtf.c: In function 'ConvertVersionInfo': > GenVtf.c:132:7: error: 'strncpy' specified bound depends on the length > of the source argument [-Werror=stringop-overflow=] > strncpy (TemStr + 4 - Length, Str, Length); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > GenVtf.c:130:14: note: length computed here > Length = strlen(Str); > ^~~~~~~~~~~ It is a false positive because, while the bound equals the length of the source argument, the destination pointer is moved back towards the beginning of the destination buffer by the same amount (and this amount is range-checked first, so we can't precede the start of the dest buffer). Replace both strncpy() calls with memcpy(). Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Cole Robinson <crobinso@redhat.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Reported-by: Cole Robinson <crobinso@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Liming Gao <liming.gao@intel.com> |
||
---|---|---|
AppPkg | ||
ArmPkg | ||
ArmPlatformPkg | ||
ArmVirtPkg | ||
BaseTools | ||
BeagleBoardPkg | ||
Conf | ||
CorebootModulePkg | ||
CorebootPayloadPkg | ||
CryptoPkg | ||
DuetPkg | ||
EdkCompatibilityPkg | ||
EdkShellBinPkg | ||
EdkShellPkg | ||
EmbeddedPkg | ||
EmulatorPkg | ||
FatBinPkg | ||
FatPkg | ||
IntelFrameworkModulePkg | ||
IntelFrameworkPkg | ||
IntelFsp2Pkg | ||
IntelFsp2WrapperPkg | ||
IntelFspPkg | ||
IntelFspWrapperPkg | ||
IntelSiliconPkg | ||
MdeModulePkg | ||
MdePkg | ||
NetworkPkg | ||
Nt32Pkg | ||
Omap35xxPkg | ||
OptionRomPkg | ||
OvmfPkg | ||
PcAtChipsetPkg | ||
QuarkPlatformPkg | ||
QuarkSocPkg | ||
SecurityPkg | ||
ShellBinPkg | ||
ShellPkg | ||
SignedCapsulePkg | ||
SourceLevelDebugPkg | ||
StdLib | ||
StdLibPrivateInternalFiles | ||
UefiCpuPkg | ||
UnixPkg | ||
Vlv2DeviceRefCodePkg | ||
Vlv2TbltDevicePkg | ||
.gitignore | ||
.gitmodules | ||
BuildNotes2.txt | ||
Contributions.txt | ||
License.txt | ||
Maintainers.txt | ||
Readme.md | ||
edksetup.bat | ||
edksetup.sh |
Readme.md
EDK II Project
A modern, feature-rich, cross-platform firmware development environment for the UEFI and PI specifications from www.uefi.org.
Contributions to the EDK II open source project are covered by the TianoCore Contribution Agreement 1.1
The majority of the content in the EDK II open source project uses a BSD 2-Clause License. The EDK II open source project contains the following components that are covered by additional licenses:
- AppPkg/Applications/Python/Python-2.7.2/Tools/pybench
- AppPkg/Applications/Python/Python-2.7.2
- AppPkg/Applications/Python/Python-2.7.10
- BaseTools/Source/C/BrotliCompress
- MdeModulePkg/Library/BrotliCustomDecompressLib
- OvmfPkg
- CryptoPkg/Library/OpensslLib/openssl
The EDK II Project is composed of packages. The maintainers for each package are listed in Maintainers.txt.