Incorrect conversion range checks
Brought to you by:
dcjm
It appears that conversions are not raising exception Size where expected. In some cases too great a range is permitted (with only the expected lower bytes appearing on the C side) as follows:
On GNU/Linux x86_64, INT/UINT allow values in the range of signed/unsigned 64 bit integers rather than signed/unsigned 32 bit integers.
On GNU/Linux i386, SHORT allows values in the range of signed 32 bit integers, rather than signed 16 bit integers.
On GNU/Linux x86_64, SHORT allows values in the range of signed 64 bit integers, rather than signed 16 bit integers.
See attached file for examples.
Tests for conversions