diff options
Diffstat (limited to 'src/vpp-api')
-rw-r--r-- | src/vpp-api/client/client.c | 2 | ||||
-rw-r--r-- | src/vpp-api/vapi/vapi.c | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/vpp-api/client/client.c b/src/vpp-api/client/client.c index 50d088c1bfb..fa83696ec34 100644 --- a/src/vpp-api/client/client.c +++ b/src/vpp-api/client/client.c @@ -186,6 +186,7 @@ vac_rx_thread_fn (void *arg) while (1) while (!svm_queue_sub(q, (u8 *)&msg, SVM_Q_WAIT, 0)) { + VL_MSG_API_UNPOISON((void *)msg); u16 id = ntohs(*((u16 *)msg)); switch (id) { case VL_API_RX_THREAD_EXIT: @@ -468,6 +469,7 @@ vac_read (char **p, int *l, u16 timeout) rv = svm_queue_sub(q, (u8 *)&msg, SVM_Q_WAIT, 0); if (rv == 0) { + VL_MSG_API_UNPOISON((void *)msg); u16 msg_id = ntohs(*((u16 *)msg)); switch (msg_id) { case VL_API_RX_THREAD_EXIT: diff --git a/src/vpp-api/vapi/vapi.c b/src/vpp-api/vapi/vapi.c index ef31724356d..859a811d178 100644 --- a/src/vpp-api/vapi/vapi.c +++ b/src/vpp-api/vapi/vapi.c @@ -474,6 +474,8 @@ vapi_send (vapi_ctx_t ctx, void *msg) { rv = VAPI_EAGAIN; } + else + VL_MSG_API_POISON (msg); out: VAPI_DBG ("vapi_send() rv = %d", rv); return rv; @@ -518,6 +520,8 @@ vapi_send2 (vapi_ctx_t ctx, void *msg1, void *msg2) { rv = VAPI_EAGAIN; } + else + VL_MSG_API_POISON (msg1); out: VAPI_DBG ("vapi_send() rv = %d", rv); return rv; @@ -548,6 +552,7 @@ again: if (tmp == 0) { + VL_MSG_API_UNPOISON ((void *) data); #if VAPI_DEBUG_ALLOC vapi_add_to_be_freed ((void *) data); #endif |