Better checks and initialization of Offset

Offset was being passed to C++ a null and created errors. It was
retrieving erroneous data. This code replaces a NULL offset with a zero
filled vector.