session: fix local session tagging and cleanup
[vpp.git] / src / svm / svm_fifo_segment.c
index ce1d5a0..dcfc0df 100644 (file)
@@ -390,6 +390,7 @@ svm_fifo_segment_alloc_fifo (svm_fifo_segment_private_t * s,
          memset (f, 0, sizeof (*f));
          f->nitems = data_size_in_bytes;
          f->ooos_list_head = OOO_SEGMENT_INVALID_INDEX;
+         f->ct_session_index = SVM_FIFO_INVALID_SESSION_INDEX;
          f->refcnt = 1;
          f->freelist_index = freelist_index;
          goto found;
@@ -562,7 +563,7 @@ svm_fifo_segment_num_free_fifos (svm_fifo_segment_private_t * fifo_segment,
   freelist_index = max_log2 (rounded_data_size)
     - max_log2 (FIFO_SEGMENT_MIN_FIFO_SIZE);
 
-  if (freelist_index > vec_len (fsh->free_fifos))
+  if (freelist_index >= vec_len (fsh->free_fifos))
     return 0;
 
   f = fsh->free_fifos[freelist_index];