Fix possible memory corruption in gdbm module

There is the possibility that data corruption could cause the
buxton_deserialize function to fail for a value in the gdbm backend.
However, we must also ensure we still free the dptr which is malloc()d
by gdbm even if we're not going to convert the data.

Signed-off-by: Michael Ikey Doherty <michael.i.doherty@intel.com>