devargs: fix derefrence before null test
Checks
Commit Message
Pointer 'da' was dereferenced and then compared to NULL,
reorder the code to keep the logic consistent.
Fixes: 4969f5914c9e ("devargs: introduce new parsing helper")
Cc: stable@dpdk.org
Signed-off-by: Weiguo Li <liweiguo@xencore.cn>
---
.mailmap | 2 +-
lib/eal/common/eal_common_devargs.c | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
Comments
On Mon, 30 Oct 2023 19:45:29 +0800
Weiguo Li <liwg06@foxmail.com> wrote:
> diff --git a/lib/eal/common/eal_common_devargs.c
> b/lib/eal/common/eal_common_devargs.c index fb5d0a293b..8d6c3938eb
> 100644 --- a/lib/eal/common/eal_common_devargs.c
> +++ b/lib/eal/common/eal_common_devargs.c
> @@ -185,11 +185,13 @@ rte_devargs_parse(struct rte_devargs *da, const
> char *dev) {
> struct rte_bus *bus = NULL;
> const char *devname;
> - const size_t maxlen = sizeof(da->name);
> size_t i;
>
> if (da == NULL)
> return -EINVAL;
> +
> + const size_t maxlen = sizeof(da->name);
> +
> memset(da, 0, sizeof(*da));
>
> /* First parse according global device syntax. */
NAK
This patch is not necessary. Doing sizeof() on a NULL structure pointer
is allowed. It is valid C.
@@ -1500,7 +1500,7 @@ Waterman Cao <waterman.cao@intel.com>
Weichun Chen <weichunx.chen@intel.com>
Wei Dai <wei.dai@intel.com>
Weifeng Li <liweifeng96@126.com>
-Weiguo Li <liwg06@foxmail.com>
+Weiguo Li <liwg06@foxmail.com> <liweiguo@xencore.cn>
Wei Huang <wei.huang@intel.com>
Wei Hu <weh@microsoft.com>
Wei Hu (Xavier) <xavier.huwei@huawei.com>
@@ -185,11 +185,13 @@ rte_devargs_parse(struct rte_devargs *da, const char *dev)
{
struct rte_bus *bus = NULL;
const char *devname;
- const size_t maxlen = sizeof(da->name);
size_t i;
if (da == NULL)
return -EINVAL;
+
+ const size_t maxlen = sizeof(da->name);
+
memset(da, 0, sizeof(*da));
/* First parse according global device syntax. */