Fix pointer confusion for nested attribute parsing

A reference to a pointer is passed as data,
the resulting attribute payload should be stored in
the dereferenced location to return it to the caller.