Skip to content

Commit 709570a

Browse files
kodafbfacebook-github-bot
authored andcommitted
Add sanity checks to JSBigFileString
Summary: When asking for the data of a JSBigFileString, check that the instance satisfies some basic invariants. This is meant to catch any corruption issues as early as possible. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D22125436 fbshipit-source-id: e0a84752c86151d56b7e7cbed3b95650d8ba1f75
1 parent b095432 commit 709570a

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

ReactCommon/cxxreact/JSBigString.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,13 @@ const char *JSBigFileString::c_str() const {
126126
}
127127
#endif // WITH_FBREMAP
128128
}
129+
static const size_t kMinPageSize = 4096;
130+
CHECK(!(reinterpret_cast<uintptr_t>(m_data) & (kMinPageSize - 1)))
131+
<< "mmap address misaligned, likely corrupted"
132+
<< " m_data: " << (const void *)m_data;
133+
CHECK(m_pageOff <= m_size)
134+
<< "offset impossibly large, likely corrupted"
135+
<< " m_pageOff: " << m_pageOff << " m_size: " << m_size;
129136
return m_data + m_pageOff;
130137
}
131138

0 commit comments

Comments
 (0)