fix "dereferencing type-punned pointer will break strict-aliasing rules"