[v2,04/16] bus/vdev: verify strdup return value

Message ID 20231110100117.8350-5-fengchengwen@huawei.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series verify strdup return value |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

fengchengwen Nov. 10, 2023, 10:01 a.m. UTC
  Add verify strdup return value logic.

Fixes: 64051bb1f144 ("devargs: unify scratch buffer storage")
Cc: stable@dpdk.org

Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
---
 drivers/bus/vdev/vdev.c | 4 ++++
 1 file changed, 4 insertions(+)
  

Comments

lihuisong (C) Nov. 21, 2023, 3:36 a.m. UTC | #1
Acked-by: Huisong Li <lihuisong@huawei.com>

在 2023/11/10 18:01, Chengwen Feng 写道:
> Add verify strdup return value logic.
>
> Fixes: 64051bb1f144 ("devargs: unify scratch buffer storage")
> Cc: stable@dpdk.org
>
> Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
> ---
>   drivers/bus/vdev/vdev.c | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
> index 7974b27295..05582f1727 100644
> --- a/drivers/bus/vdev/vdev.c
> +++ b/drivers/bus/vdev/vdev.c
> @@ -247,6 +247,10 @@ alloc_devargs(const char *name, const char *args)
>   		devargs->data = strdup(args);
>   	else
>   		devargs->data = strdup("");
> +	if (devargs->data == NULL) {
> +		free(devargs);
> +		return NULL;
> +	}
>   	devargs->args = devargs->data;
>   
>   	ret = strlcpy(devargs->name, name, sizeof(devargs->name));
  

Patch

diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
index 7974b27295..05582f1727 100644
--- a/drivers/bus/vdev/vdev.c
+++ b/drivers/bus/vdev/vdev.c
@@ -247,6 +247,10 @@  alloc_devargs(const char *name, const char *args)
 		devargs->data = strdup(args);
 	else
 		devargs->data = strdup("");
+	if (devargs->data == NULL) {
+		free(devargs);
+		return NULL;
+	}
 	devargs->args = devargs->data;
 
 	ret = strlcpy(devargs->name, name, sizeof(devargs->name));