From d8d637c5d3bb2b8de5bc9b57b8483feda5a16b72 Mon Sep 17 00:00:00 2001 From: Youngjae Shin Date: Mon, 2 Sep 2013 09:35:01 +0900 Subject: [PATCH] fix wrong pointer handling Change-Id: I931cb6ee52e19721c19fe14e702cbf3d4fe914e9 --- client/net_nfc_client_ndef_record.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/client/net_nfc_client_ndef_record.c b/client/net_nfc_client_ndef_record.c index 97b7acf..22f8892 100644 --- a/client/net_nfc_client_ndef_record.c +++ b/client/net_nfc_client_ndef_record.c @@ -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]; -- 2.7.4