ipsec: Coverity warnings
[vpp.git] / src / svm / message_queue.c
index 6304420..6113450 100644 (file)
@@ -120,22 +120,19 @@ svm_msg_q_lock_and_alloc_msg_w_ring (svm_msg_q_t * mq, u32 ring_index,
     {
       if (svm_msg_q_try_lock (mq))
        return -1;
-      if (PREDICT_FALSE (svm_msg_q_ring_is_full (mq, ring_index)))
+      if (PREDICT_FALSE (svm_msg_q_is_full (mq)
+                        || svm_msg_q_ring_is_full (mq, ring_index)))
        {
          svm_msg_q_unlock (mq);
          return -2;
        }
       *msg = svm_msg_q_alloc_msg_w_ring (mq, ring_index);
-      if (PREDICT_FALSE (svm_msg_q_msg_is_invalid (msg)))
-       {
-         svm_msg_q_unlock (mq);
-         return -2;
-       }
     }
   else
     {
       svm_msg_q_lock (mq);
-      while (svm_msg_q_ring_is_full (mq, ring_index))
+      while (svm_msg_q_is_full (mq)
+            || svm_msg_q_ring_is_full (mq, ring_index))
        svm_msg_q_wait (mq);
       *msg = svm_msg_q_alloc_msg_w_ring (mq, ring_index);
     }