From 440922db671315be6598d7f2e91ebedf4bbd777e Mon Sep 17 00:00:00 2001 From: Jaekyun Lee Date: Wed, 17 Apr 2013 13:31:33 +0900 Subject: [PATCH] Fix memory leak Change-Id: I5746994caf425e3bedca4ef38ea6fd1770b9f0b2 --- packaging/capi-network-nfc.spec | 2 +- src/nfc.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packaging/capi-network-nfc.spec b/packaging/capi-network-nfc.spec index 8cc818b..b30e9a2 100644 --- a/packaging/capi-network-nfc.spec +++ b/packaging/capi-network-nfc.spec @@ -1,7 +1,7 @@ #sbs-git:slp/api/nfc capi-network-nfc 0.0.1 14f15050f8f6ff8217421da04fa5d66e834e2016 Name: capi-network-nfc Summary: A NFC library in SLP C API -Version: 0.0.7 +Version: 0.0.8 Release: 0 Group: API/C API License: Apache-2.0 diff --git a/src/nfc.c b/src/nfc.c index 3b26772..412b1b1 100644 --- a/src/nfc.c +++ b/src/nfc.c @@ -1261,7 +1261,7 @@ int nfc_ndef_message_get_record_count(nfc_ndef_message_h ndef_message , int *cou 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__); @@ -1270,13 +1270,14 @@ int nfc_ndef_message_get_rawdata(nfc_ndef_message_h ndef_message , unsigned char *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); } -- 2.7.4