OSDN Git Service

Add missing NULL pointers assignments
authorPavlin Radoslavov <pavlin@google.com>
Thu, 16 Jun 2016 23:37:57 +0000 (16:37 -0700)
committerPavlin Radoslavov <pavlin@google.com>
Thu, 16 Jun 2016 23:58:15 +0000 (16:58 -0700)
Each pointer that was freed by one of the following functions should
be reset to NULL:
 - config_free()
 - data_dispatcher_free()
 - fixed_queue_free()
 - list_free()

Bug: 29421693
Change-Id: Ie55a04ed986393994564edcf872d7413b0767a85

btif/src/btif_hl.cc
btif/src/btif_sock_rfc.cc
hci/src/hci_layer.c
main/stack_config.c
stack/gatt/gatt_utils.c
stack/l2cap/l2c_main.c
stack/l2cap/l2c_utils.c
stack/rfcomm/port_utils.c

index 396856d..ffb4624 100644 (file)
@@ -4768,6 +4768,7 @@ static inline int btif_hl_close_select_thread(void)
         }
     }
     list_free(soc_queue);
+    soc_queue = NULL;
 
     return (int)result;
 }
index 6c5ea7f..8fcd5ea 100644 (file)
@@ -139,6 +139,7 @@ void btsock_rfc_cleanup(void) {
     if (rfc_slots[i].id)
       cleanup_rfc_slot(&rfc_slots[i]);
     list_free(rfc_slots[i].incoming_queue);
+    rfc_slots[i].incoming_queue = NULL;
   }
   pthread_mutex_unlock(&slot_lock);
 }
index 71d7101..e15ee45 100644 (file)
@@ -296,6 +296,7 @@ static future_t *shut_down() {
   fixed_queue_free(packet_queue, buffer_allocator->free);
   packet_queue = NULL;
   list_free(commands_pending_response);
+  commands_pending_response = NULL;
 
   pthread_mutex_destroy(&commands_pending_response_lock);
 
@@ -799,6 +800,7 @@ void hci_layer_cleanup_interface() {
     interface.do_postload = NULL;
 
     data_dispatcher_free(interface.event_dispatcher);
+    interface.event_dispatcher = NULL;
 
     interface.set_data_queue = NULL;
     interface.transmit_command = NULL;
index 3f8b8af..a4014da 100644 (file)
@@ -61,6 +61,7 @@ static future_t *init() {
 
 static future_t *clean_up() {
   config_free(config);
+  config = NULL;
   return future_new_immediate(FUTURE_SUCCESS);
 }
 
index 24abaf0..29c5686 100644 (file)
@@ -2285,6 +2285,7 @@ void gatt_cleanup_upon_disc(BD_ADDR bda, UINT16 reason, tBT_TRANSPORT transport)
         gatt_free_pending_ind(p_tcb);
         gatt_free_pending_enc_queue(p_tcb);
         fixed_queue_free(p_tcb->sr_cmd.multi_rsp_q, NULL);
+        p_tcb->sr_cmd.multi_rsp_q = NULL;
 
         for (i = 0; i < GATT_MAX_APPS; i ++)
         {
index ad1e583..dab56a2 100644 (file)
@@ -858,6 +858,7 @@ void l2c_init (void)
 
 void l2c_free(void) {
     list_free(l2cb.rcv_pending_q);
+    l2cb.rcv_pending_q = NULL;
 }
 
 void l2c_receive_hold_timer_timeout(UNUSED_ATTR void *data)
index af87c2a..4fd5f64 100644 (file)
@@ -264,6 +264,7 @@ void l2cu_release_lcb (tL2C_LCB *p_lcb)
             osi_free(p_buf);
         }
         fixed_queue_free(p_lcb->le_sec_pending_q, NULL);
+        p_lcb->le_sec_pending_q = NULL;
     }
 }
 
index e23965f..3a8ff6c 100644 (file)
@@ -240,7 +240,9 @@ void port_release_port(tPORT *p_port)
 
         rfc_port_timer_stop (p_port);
         fixed_queue_free(p_port->tx.queue, NULL);
+        p_port->tx.queue = NULL;
         fixed_queue_free(p_port->rx.queue, NULL);
+        p_port->rx.queue = NULL;
 
         if (p_port->keep_port_handle)
         {