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.
Merge remote-tracking branch 'origin/Offset_Initialization' into feature_subset