Message ID | 20241114084039.42149-1-zhangjiao2@cmss.chinamobile.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] tools/thermal: Fix common realloc mistake | expand |
On 14/11/2024 09:40, zhangjiao2 wrote: > From: zhang jiao <zhangjiao2@cmss.chinamobile.com> > > If the 'realloc' fails, the thermal zones pointer is set to NULL. This > makes all thermal zones references which were previously successfully > initialized to be lost. > > Signed-off-by: zhang jiao <zhangjiao2@cmss.chinamobile.com> > --- Applied, thanks !
diff --git a/tools/thermal/thermometer/thermometer.c b/tools/thermal/thermometer/thermometer.c index 1a87a0a77f9f..6df6ffdc571a 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]; + struct tz *tz; 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, + tz = realloc(thermometer->tz, sizeof(*thermometer->tz) * (thermometer->nr_tz + 1)); - if (!thermometer->tz) { + if (!tz) { ERROR("Failed to allocate thermometer->tz\n"); return -1; } + thermometer->tz = tz; thermometer->tz[thermometer->nr_tz].fd_temp = fd; thermometer->tz[thermometer->nr_tz].name = strdup(name);