dolphin/Source/Core/Common
Peter Lafreniere 3da2e15e6b IOFile: avoid clearing errors on null file struct
When performing a default compilation with recent GCC & glibc,
the use of -Werror=nonnull causes a build error.

The error is given as IOFile::ClearError() can call std::clearerr()
with a null file, which can trigger a null-pointer dereference in libc.

Change the std::clearerr() call to be conditional on a file being open.
2024-02-11 20:55:31 -05:00
..
Assembler
Config
Crypto
Debug
GL
Logging
Align.h
Analytics.cpp
Analytics.h
AndroidAnalytics.cpp
AndroidAnalytics.h
Arm64Emitter.cpp
Arm64Emitter.h
ArmCommon.h
ArmCPUDetect.cpp
ArmFPURoundMode.cpp
Assert.h
BitField.h
BitField.natvis
BitSet.h
BitUtils.h
BlockingLoop.h
build_info.txt.in
ChunkFile.h
CMakeLists.txt
CodeBlock.h
ColorUtil.cpp
ColorUtil.h
Common.h
CommonFuncs.cpp
CommonFuncs.h
CommonPaths.h
CommonTypes.h
CompatPatches.cpp
CPUDetect.h
DynamicLibrary.cpp
DynamicLibrary.h
ENet.cpp
ENet.h
EnumFormatter.h
EnumMap.h
EnumMap.natvis
EnumUtils.h
Event.h
FatFsUtil.cpp
FatFsUtil.h
FileSearch.cpp
FileSearch.h
FileUtil.cpp
FileUtil.h
FixedSizeQueue.h
Flag.h
FloatUtils.cpp
FloatUtils.h
FormatUtil.h
FPURoundMode.h
GekkoDisassembler.cpp
GekkoDisassembler.h
GenericCPUDetect.cpp
GenericFPURoundMode.cpp
Hash.cpp
Hash.h
HookableEvent.h
HRWrap.cpp
HRWrap.h
HttpRequest.cpp
HttpRequest.h
Image.cpp
Image.h
IniFile.cpp
IniFile.h
Inline.h
Intrinsics.h
IOFile.cpp
IOFile.h IOFile: avoid clearing errors on null file struct 2024-02-11 20:55:31 -05:00
JitRegister.cpp
JitRegister.h
JsonUtil.h
Lazy.h
LdrWatcher.cpp
LdrWatcher.h
LinearDiskCache.h
make_scmrev.h.js
MathUtil.h
Matrix.cpp
Matrix.h
MemArena.h
MemArenaAndroid.cpp
MemArenaUnix.cpp
MemArenaWin.cpp
MemoryUtil.cpp
MemoryUtil.h
MinizipUtil.h
MsgHandler.cpp
MsgHandler.h
NandPaths.cpp
NandPaths.h
Network.cpp
Network.h
PcapFile.cpp
PcapFile.h
PerformanceCounter.cpp
PerformanceCounter.h
Profiler.cpp
Profiler.h
QoSSession.cpp
QoSSession.h
Random.cpp
Random.h
Result.h
scmrev.h.in
SCMRevGen.vcxproj
ScopeGuard.h
SDCardUtil.cpp
SDCardUtil.h
Semaphore.h
SettingsHandler.cpp
SettingsHandler.h
SFMLHelper.cpp
SFMLHelper.h
SmallVector.h
SocketContext.cpp
SocketContext.h
SPSCQueue.h
StringLiteral.h
StringUtil.cpp
StringUtil.h
Swap.h
SymbolDB.cpp
SymbolDB.h
Thread.cpp
Thread.h
Timer.cpp
Timer.h
TraversalClient.cpp
TraversalClient.h
TraversalProto.h
TraversalServer.cpp
TypeUtils.h
UPnP.cpp
UPnP.h
VariantUtil.h
Version.cpp
Version.h
WindowsRegistry.cpp
WindowsRegistry.h
WindowSystemInfo.h
WorkQueueThread.h
x64ABI.cpp
x64ABI.h
x64CPUDetect.cpp
x64Emitter.cpp
x64Emitter.h
x64FPURoundMode.cpp
x64Reg.h