fix prevent bugs
authorYoungjae Shin <yj99.shin@samsung.com>
Tue, 22 Oct 2013 08:33:13 +0000 (17:33 +0900)
committerYoungjae Shin <yj99.shin@samsung.com>
Wed, 23 Oct 2013 06:57:33 +0000 (15:57 +0900)
Change-Id: I932407e5eb0feba3265b16e838039266701b3eb6

packaging/nfc-manager.spec
src/clientlib/net_nfc_client_ndef_message.c
src/manager/net_nfc_server_dispatcher.c
src/manager/net_nfc_server_ipc.c

index b2b9a86..c52b618 100644 (file)
@@ -1,6 +1,6 @@
 Name:       nfc-manager
 Summary:    NFC framework manager
-Version:    0.0.49
+Version:    0.0.50
 Release:    0
 Group:      libs
 License:    Flora Software License
index 78f111b..f95313c 100644 (file)
@@ -50,22 +50,32 @@ NET_NFC_EXPORT_API net_nfc_error_e net_nfc_create_ndef_message (ndef_message_h*
 
 NET_NFC_EXPORT_API net_nfc_error_e net_nfc_create_rawdata_from_ndef_message (ndef_message_h ndef_message, data_h* rawdata)
 {
+       int count;
+       net_nfc_error_e result;
+       data_h tmp_data;
+
        if (ndef_message == NULL || rawdata == NULL){
                return NET_NFC_NULL_PARAMETER;
        }
-       int count;
-       net_nfc_error_e result;
 
-       result = net_nfc_get_ndef_message_byte_length (ndef_message,&count);
+       result = net_nfc_get_ndef_message_byte_length(ndef_message,&count);
        if (result  != NET_NFC_OK){
                return result;
        }
 
-       result = net_nfc_create_data (rawdata ,NULL, count);
+       result = net_nfc_create_data(&tmp_data ,NULL, count);
        if (result != NET_NFC_OK) {
                return result;
        }
-       return net_nfc_util_convert_ndef_message_to_rawdata((ndef_message_s*)ndef_message, (data_s*)*rawdata);
+
+       result = net_nfc_util_convert_ndef_message_to_rawdata((ndef_message_s*)ndef_message, (data_s*)tmp_data);
+       if (result != NET_NFC_OK) {
+               net_nfc_free_data(tmp_data);
+               return result;
+       }
+
+       *rawdata = tmp_data;
+       return result;
 }
 
 NET_NFC_EXPORT_API net_nfc_error_e net_nfc_create_ndef_message_from_rawdata (ndef_message_h* ndef_message, data_h  rawdata)
index ede8bd6..cc09b31 100644 (file)
@@ -918,8 +918,7 @@ bool _net_nfc_check_dispatcher_privilege(net_nfc_request_msg_t *request_msg)
 {
        int client_fd_request = request_msg->client_fd;
        int ret_value;
-       
-       DEBUG_SERVER_MSG("enter check privilege function");
+
        switch(request_msg->request_type)
        {
 #if 0
index d7920e9..4216b83 100755 (executable)
@@ -94,10 +94,14 @@ uint32_t net_nfc_server_get_server_state()
        return g_server_info.state;
 }
 
+
+
 bool net_nfc_server_ipc_initialize()
 {
        int result = 0;
 
+       pthread_mutex_lock(&g_server_socket_lock);
+
        /* initialize server context */
        g_server_info.server_src_id = 0;
        g_server_info.server_channel = (GIOChannel *)NULL;
@@ -113,7 +117,7 @@ bool net_nfc_server_ipc_initialize()
        if (g_server_info.server_sock_fd == -1)
        {
                DEBUG_SERVER_MSG("get socket is failed");
-               return false;
+               goto ERROR;
        }
 
        net_nfc_util_set_non_block_socket(g_server_info.server_sock_fd);
@@ -143,7 +147,7 @@ bool net_nfc_server_ipc_initialize()
        if (g_server_info.server_sock_fd == -1)
        {
                DEBUG_SERVER_MSG("get socket is failed");
-               return false;
+               goto ERROR;
        }
 
        net_nfc_util_set_non_block_socket(g_server_info.server_sock_fd);
@@ -219,6 +223,7 @@ bool net_nfc_server_ipc_initialize()
        if (vconf_set_bool(NET_NFC_DISABLE_LAUNCH_POPUP_KEY, TRUE) != 0)
                DEBUG_ERR_MSG("SERVER : launch state set vconf fail");
 
+       pthread_mutex_unlock(&g_server_socket_lock);
        return true;
 
 ERROR :
@@ -248,6 +253,7 @@ ERROR :
                g_server_info.server_sock_fd = -1;
        }
 
+       pthread_mutex_unlock(&g_server_socket_lock);
        return false;
 }