fix wrong pointer handling
authorYoungjae Shin <yj99.shin@samsung.com>
Mon, 2 Sep 2013 00:35:01 +0000 (09:35 +0900)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Thu, 12 Sep 2013 04:55:10 +0000 (21:55 -0700)
Change-Id: I931cb6ee52e19721c19fe14e702cbf3d4fe914e9

client/net_nfc_client_ndef_record.c

index 97b7acf..22f8892 100644 (file)
@@ -177,9 +177,13 @@ API net_nfc_error_e net_nfc_create_text_string_from_text_record(
 
        if (net_nfc_get_record_payload(record, &payload) == NET_NFC_OK)
        {
-               uint8_t* buffer_temp = net_nfc_get_data_buffer(payload);
+               uint8_t *buffer_temp;
                uint32_t buffer_length = net_nfc_get_data_length(payload);
 
+               buffer_temp = net_nfc_get_data_buffer(payload);
+               if (NULL == buffer_temp)
+                       return NET_NFC_NO_DATA_FOUND;
+
                int controllbyte = buffer_temp[0];
                int lang_code_length = controllbyte & 0x3F;
                int index = lang_code_length + 1;
@@ -219,8 +223,12 @@ API net_nfc_error_e net_nfc_get_languange_code_string_from_text_record(
 
        if (net_nfc_get_record_payload(record, &payload) == NET_NFC_OK)
        {
-               uint8_t* buffer_temp = net_nfc_get_data_buffer(payload);
-               char * buffer = NULL;
+               char *buffer = NULL;
+               uint8_t *buffer_temp;
+
+               buffer_temp = net_nfc_get_data_buffer(payload);
+               if (NULL == buffer_temp)
+                       return NET_NFC_NO_DATA_FOUND;
 
                int controllbyte = buffer_temp[0];
                int lang_code_length = controllbyte & 0x3F;
@@ -262,7 +270,9 @@ API net_nfc_error_e net_nfc_get_encoding_type_from_text_record(
 
        if (net_nfc_get_record_payload(record, &payload) == NET_NFC_OK)
        {
-               uint8_t* buffer_temp = net_nfc_get_data_buffer(payload);
+               uint8_t *buffer_temp = net_nfc_get_data_buffer(payload);
+               if (NULL == buffer_temp)
+                       return NET_NFC_NO_DATA_FOUND;
 
                int controllbyte = buffer_temp[0];