Re: [PATCH] tools/thermal: Fix common realloc mistake
From: Rafael J. Wysocki
Date: Fri Nov 08 2024 - 07:09:27 EST
On Fri, Nov 8, 2024 at 7:39 AM zhangjiao2
<zhangjiao2@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> From: zhang jiao <zhangjiao2@xxxxxxxxxxxxxxxxxxxx>
>
> 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@xxxxxxxxxxxxxxxxxxxx>
> ---
> 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
>
>
>
>