Skip to content

Commit 4bb090d

Browse files
committed
check files on disk in addition to cache manifest
1 parent 30ceec0 commit 4bb090d

File tree

1 file changed

+22
-6
lines changed
  • Framework/Intersect.Framework.Core/AssetManagement

1 file changed

+22
-6
lines changed

Framework/Intersect.Framework.Core/AssetManagement/Updater.cs

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -216,14 +216,30 @@ public UpdaterStatus TryGetManifest(out UpdateManifest? updateManifest, int reat
216216
break;
217217
}
218218

219-
updateRequired = !string.Equals(
220-
updateFile.Checksum,
221-
cachedFile.Checksum,
222-
StringComparison.Ordinal
223-
);
219+
if (!string.Equals(updateFile.Checksum, cachedFile.Checksum, StringComparison.Ordinal))
220+
{
221+
updateRequired = true;
222+
break;
223+
}
224+
225+
var resolvedPath = ResolvePath(cachedFile.Path, _updateRootInfo.FullName);
226+
FileInfo resolvedInfo = new(resolvedPath);
227+
if (!resolvedInfo.Exists)
228+
{
229+
updateRequired = true;
230+
break;
231+
}
224232

225-
if (updateRequired)
233+
if (updateFile.Size != resolvedInfo.Length)
226234
{
235+
updateRequired = true;
236+
break;
237+
}
238+
239+
var actualChecksum = UpdateManifestFile.ComputeChecksum(resolvedInfo);
240+
if (!string.Equals(actualChecksum, updateFile.Checksum, StringComparison.Ordinal))
241+
{
242+
updateRequired = true;
227243
break;
228244
}
229245
}

0 commit comments

Comments
 (0)