diff mbox series

tools/thermal: Fix common realloc mistake

Message ID 20241108044700.37633-1-zhangjiao2@cmss.chinamobile.com (mailing list archive)
State New
Headers show
Series tools/thermal: Fix common realloc mistake | expand

Commit Message

zhangjiao2 Nov. 8, 2024, 4:47 a.m. UTC
From: zhang jiao <zhangjiao2@cmss.chinamobile.com>

Do not set thermometer->tz NULL when realloc failed.

Signed-off-by: zhang jiao <zhangjiao2@cmss.chinamobile.com>
---
 tools/thermal/thermometer/thermometer.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Rafael J. Wysocki Nov. 8, 2024, 12:09 p.m. UTC | #1
On Fri, Nov 8, 2024 at 7:39 AM zhangjiao2
<zhangjiao2@cmss.chinamobile.com> wrote:
>
> From: zhang jiao <zhangjiao2@cmss.chinamobile.com>
>
> Do not set thermometer->tz NULL when realloc failed.

Presumably, this fixes a problem.

What problem does it fix?

> Signed-off-by: zhang jiao <zhangjiao2@cmss.chinamobile.com>
> ---
>  tools/thermal/thermometer/thermometer.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/tools/thermal/thermometer/thermometer.c b/tools/thermal/thermometer/thermometer.c
> index 1a87a0a77f9f..e08291a97fd8 100644
> --- a/tools/thermal/thermometer/thermometer.c
> +++ b/tools/thermal/thermometer/thermometer.c
> @@ -259,6 +259,7 @@ static int thermometer_add_tz(const char *path, const char *name, int polling,
>  {
>         int fd;
>         char tz_path[PATH_MAX];
> +       void *tmp;
>
>         sprintf(tz_path, CLASS_THERMAL"/%s/temp", path);
>
> @@ -268,12 +269,13 @@ static int thermometer_add_tz(const char *path, const char *name, int polling,
>                 return -1;
>         }
>
> -       thermometer->tz = realloc(thermometer->tz,
> +       tmp = realloc(thermometer->tz,
>                                   sizeof(*thermometer->tz) * (thermometer->nr_tz + 1));
> -       if (!thermometer->tz) {
> +       if (!tmp) {
>                 ERROR("Failed to allocate thermometer->tz\n");
>                 return -1;
>         }
> +       thermometer->tz = tmp;
>
>         thermometer->tz[thermometer->nr_tz].fd_temp = fd;
>         thermometer->tz[thermometer->nr_tz].name = strdup(name);
> --
> 2.33.0
>
>
>
>
diff mbox series

Patch

diff --git a/tools/thermal/thermometer/thermometer.c b/tools/thermal/thermometer/thermometer.c
index 1a87a0a77f9f..e08291a97fd8 100644
--- a/tools/thermal/thermometer/thermometer.c
+++ b/tools/thermal/thermometer/thermometer.c
@@ -259,6 +259,7 @@  static int thermometer_add_tz(const char *path, const char *name, int polling,
 {
 	int fd;
 	char tz_path[PATH_MAX];
+	void *tmp;
 
 	sprintf(tz_path, CLASS_THERMAL"/%s/temp", path);
 
@@ -268,12 +269,13 @@  static int thermometer_add_tz(const char *path, const char *name, int polling,
 		return -1;
 	}
 
-	thermometer->tz = realloc(thermometer->tz,
+	tmp = realloc(thermometer->tz,
 				  sizeof(*thermometer->tz) * (thermometer->nr_tz + 1));
-	if (!thermometer->tz) {
+	if (!tmp) {
 		ERROR("Failed to allocate thermometer->tz\n");
 		return -1;
 	}
+	thermometer->tz = tmp;
 
 	thermometer->tz[thermometer->nr_tz].fd_temp = fd;
 	thermometer->tz[thermometer->nr_tz].name = strdup(name);