Fix compatibility with VS 2008C99 is not an option(cherry picked from commit 60e0a1c111c55ed3416146f0d2a848c993474018)
Check sizes(cherry picked from commit 568c901ec1cdfe318d37f42d7baa08ee38f4065c)