This commit fixes an offset check in decompression which was checking
destination offset size against dst data_len rather than checking
against dst pkt_len as required.

Fixes:788e748d3845 ("compress/isal: support chained mbufs")

Signed-off-by: Lee Daly <lee.d...@intel.com>
---
 drivers/compress/isal/isal_compress_pmd.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/compress/isal/isal_compress_pmd.c 
b/drivers/compress/isal/isal_compress_pmd.c
index e75f48d..e943336 100644
--- a/drivers/compress/isal/isal_compress_pmd.c
+++ b/drivers/compress/isal/isal_compress_pmd.c
@@ -404,9 +404,9 @@ process_isal_deflate(struct rte_comp_op *op, struct 
isal_comp_qp *qp,
                return -1;
        }
 
-       if (op->dst.offset > op->m_dst->pkt_len) {
-               ISAL_PMD_LOG(ERR, "Output mbuf(s) not big enough for length"
-                               " and offset provided.\n");
+       if (op->dst.offset >= op->m_dst->pkt_len) {
+               ISAL_PMD_LOG(ERR, "Output mbuf(s) not big enough"
+                               " for offset provided.\n");
                op->status = RTE_COMP_OP_STATUS_INVALID_ARGS;
                return -1;
        }
@@ -483,8 +483,8 @@ process_isal_inflate(struct rte_comp_op *op, struct 
isal_comp_qp *qp)
                return -1;
        }
 
-       if (op->dst.offset > op->m_dst->data_len) {
-               ISAL_PMD_LOG(ERR, "Output mbuf not big enough for length and "
+       if (op->dst.offset >= op->m_dst->pkt_len) {
+               ISAL_PMD_LOG(ERR, "Output mbuf not big enough for "
                                "offset provided.\n");
                op->status = RTE_COMP_OP_STATUS_INVALID_ARGS;
                return -1;
-- 
2.7.4

Reply via email to