summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/DiscScrubber.cpp
diff options
context:
space:
mode:
authorTrace Bullet <tracebullet@gmail.com>2015-07-02 02:43:18 -0400
committerTrace Bullet <tracebullet@gmail.com>2015-07-02 11:45:22 -0400
commit64bd20aba72f2dfa4d61041f825c389401b8ae0c (patch)
tree3d454ab91af47115517642746598543d4da82f59 /Source/Core/DiscIO/DiscScrubber.cpp
parentbee7f19d7628c3e1867ab1deaa685b9e532113be (diff)
DiscIO: Check if m_Disc is null in ParsePartitionData()
Diffstat (limited to 'Source/Core/DiscIO/DiscScrubber.cpp')
-rw-r--r--Source/Core/DiscIO/DiscScrubber.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/Core/DiscIO/DiscScrubber.cpp b/Source/Core/DiscIO/DiscScrubber.cpp
index e44195492b..10d0c0e417 100644
--- a/Source/Core/DiscIO/DiscScrubber.cpp
+++ b/Source/Core/DiscIO/DiscScrubber.cpp
@@ -265,8 +265,14 @@ bool ParsePartitionData(SPartition& _rPartition)
// Ready some stuff
m_Disc = CreateVolumeFromFilename(m_Filename, _rPartition.GroupNumber, _rPartition.Number);
- std::unique_ptr<IFileSystem> filesystem(CreateFileSystem(m_Disc));
+ if (m_Disc == nullptr)
+ {
+ ERROR_LOG(DISCIO, "Failed to create volume from file %s", m_Filename.c_str());
+ m_Disc = OldVolume;
+ return false;
+ }
+ std::unique_ptr<IFileSystem> filesystem(CreateFileSystem(m_Disc));
if (!filesystem)
{
ERROR_LOG(DISCIO, "Failed to create filesystem for group %d partition %u", _rPartition.GroupNumber, _rPartition.Number);