Fix pointer to long long being passed has garbage
Before, we were treating it as an int pointer. On x86_64, that is 4
bytes. If a long pointer that hasn't been zeroed out was passed into
sysctl then it may have garbage in the 4 higher order bytes if an int
is copied into it.