From 7b4b2c38da5ea6cb60b6951eaeb0af9da6bca659 Mon Sep 17 00:00:00 2001 From: Fredrik Persson Date: Wed, 13 Mar 2019 13:20:09 +0100 Subject: [PATCH 1/2] Fix a bug that could sometimes lead to fatal assert, aborting the program --- eva/vqec-dp/outputshim/vqec_sink_common.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/eva/vqec-dp/outputshim/vqec_sink_common.c b/eva/vqec-dp/outputshim/vqec_sink_common.c index ba5e2a0..4d2112a 100644 --- a/eva/vqec-dp/outputshim/vqec_sink_common.c +++ b/eva/vqec-dp/outputshim/vqec_sink_common.c @@ -234,6 +234,11 @@ int32_t vqec_sink_read (struct vqec_sink_ *sink, break; } + if (iobuf->buf_wrlen != 0 && pak_hdr->pak->type == VQEC_PAK_TYPE_APP) { + /* Never deQ an APP packet if the iobuf is not empty */ + break; + } + /* only deQ when enough room to copy packet */ if ((iobuf->buf_len - iobuf->buf_wrlen) >= vqec_pak_get_content_len(pak_hdr->pak)) { From 910668cf58502798103e1a15b0d52ca17867db4d Mon Sep 17 00:00:00 2001 From: Fredrik Persson Date: Wed, 13 Mar 2019 13:35:06 +0100 Subject: [PATCH 2/2] Fix for logic error in ASSERT message --- eva/vqec-dp/outputshim/vqec_sink_api.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eva/vqec-dp/outputshim/vqec_sink_api.h b/eva/vqec-dp/outputshim/vqec_sink_api.h index 0c5e67f..6b92145 100644 --- a/eva/vqec-dp/outputshim/vqec_sink_api.h +++ b/eva/vqec-dp/outputshim/vqec_sink_api.h @@ -262,7 +262,7 @@ vqec_sink_read_internal (struct vqec_sink_ *sink, #ifdef HAVE_FCC if(pak->type == VQEC_PAK_TYPE_APP) { VQEC_DP_ASSERT_FATAL(iobuf->buf_wrlen == 0, - "buffer write length is 0"); + "buffer write length is not 0"); iobuf->buf_flags |= VQEC_DP_BUF_FLAGS_APP; } #endif /* HAVE_FCC */