> +int
> +rte_regexdev_rule_db_export(uint8_t dev_id, char *rule_db) {
> +     struct rte_regexdev *dev;
> +
> +     RTE_REGEXDEV_VALID_DEV_ID_OR_ERR_RET(dev_id, -EINVAL);
> +     dev = &rte_regex_devices[dev_id];
> +     RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->dev_db_export,
> +                             -ENOTSUP);
> +     if (rule_db == NULL) {
> +             RTE_REGEXDEV_LOG(ERR, "Dev %d rules can't be NULL\n",
> +                              dev_id);
> +             return -EINVAL;
> +     }
> +     return (*dev->dev_ops->dev_db_export)(dev, rule_db); }

The test if (rule_db == NULL) is not according to the description of the API
It is needed to be NULL in order to retrieve rule_db length 

* @param[out] rule_db
 *   Block of memory to insert the rule database. Must be at least size in
 *   capacity. If set to NULL, function returns required capacity.

Reply via email to