Skip to content

Commit a70cd68

Browse files
committed
Merge pull request #1901 from tinysun212/pr-stdlib-cygwin-1
[stdlib/cygwin] Fix finding NT header in DLL.
2 parents f84f8cd + 2637639 commit a70cd68

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

stdlib/public/runtime/CygwinPort.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,9 @@ uint8_t *swift::_swift_getSectionDataPE(void *handle, const char *sectionName,
9191
// This is relying on undocumented feature of Windows API LoadLibrary().
9292
unsigned char *peStart = (unsigned char *)handle;
9393

94-
int ntHeadersOffset = peStart[0x3C];
94+
const int kLocationOfNtHeaderOffset = 0x3C;
95+
int ntHeadersOffset =
96+
*reinterpret_cast<int32_t *>(peStart + kLocationOfNtHeaderOffset);
9597

9698
bool assert1 =
9799
peStart[ntHeadersOffset] == 'P' && peStart[ntHeadersOffset + 1] == 'E';

0 commit comments

Comments
 (0)