Fix memory leak tizen_2.1 2.1b_release accepted/tizen/20130520.100801 accepted/tizen_2.1/20130425.035643 submit/tizen/20130517.044659 submit/tizen_2.1/20130424.230451
authorJaekyun Lee <jkyun.lee@samsung.com>
Wed, 17 Apr 2013 04:31:33 +0000 (13:31 +0900)
committerJaekyun Lee <jkyun.lee@samsung.com>
Wed, 17 Apr 2013 04:31:33 +0000 (13:31 +0900)
Change-Id: I5746994caf425e3bedca4ef38ea6fd1770b9f0b2

packaging/capi-network-nfc.spec
src/nfc.c

index 8cc818b2bad324ddc410caa26adbc4be02d85621..b30e9a27dba685893179cc7a65b537e10f1162c3 100644 (file)
@@ -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
index 3b26772892a061b30b5db868ad2a7948fe0153e6..412b1b1bb4a95af0f44eea3169b682c9054766b3 100644 (file)
--- 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);
 }