Showing with 5 additions and 1 deletion.
  1. +5 −1 std/file.d
6 changes: 5 additions & 1 deletion std/file.d
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,11 @@ version (Windows) private void[] readImpl(const(char)[] name, const(FSChar)* nam
cenforce(trustedGetFileSize(h, fileSize), name, namez);
size_t size = min(upTo, fileSize);
auto buf = uninitializedArray!(ubyte[])(size);
scope(failure) delete buf;

scope(failure)
{
() @trusted { delete buf; } ();
}

cenforce(trustedReadFile(h, buf.ptr, size), name, namez);
return buf[0 .. size];
Expand Down