svm: check if fifo free list index is valid on alloc
[vpp.git] / src / svm / svm_fifo.h
index 0a3d17e..e08b3e9 100644 (file)
@@ -669,6 +669,8 @@ svm_fifo_size (svm_fifo_t * f)
 static inline void
 svm_fifo_set_size (svm_fifo_t * f, u32 size)
 {
+  if (size > (1 << f->fs_hdr->max_log2_chunk_size))
+    return;
   fsh_virtual_mem_update (f->fs_hdr, f->slice_index, (int) f->size - size);
   f->size = size;
 }