int nfc_ndef_message_get_rawdata(nfc_ndef_message_h ndef_message , unsigned char ** rawdata , int *rawdata_size)
{
int ret=0;
- data_s *rawdata_data;
+ data_s *rawdata_data = NULL;
if (ndef_message == NULL || rawdata == NULL || rawdata_size == NULL )
return _return_invalid_param(__func__);
*rawdata_size = 0;
ret = net_nfc_create_rawdata_from_ndef_message(ndef_message, (data_h *)&rawdata_data);
- if (ret == 0) {
+ if (rawdata_data)
+ {
*rawdata = calloc(1, rawdata_data->length);
memcpy(*rawdata, rawdata_data->buffer, rawdata_data->length);
*rawdata_size = rawdata_data->length;
-
net_nfc_free_data((data_h)rawdata_data);
}
+
return _convert_error_code(__func__, ret);
}