summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hardinfo/dt_util.c15
-rw-r--r--hardinfo/gpu_util.c2
-rw-r--r--includes/dt_util.h1
3 files changed, 10 insertions, 8 deletions
diff --git a/hardinfo/dt_util.c b/hardinfo/dt_util.c
index 49d08f8b..60f84553 100644
--- a/hardinfo/dt_util.c
+++ b/hardinfo/dt_util.c
@@ -475,8 +475,9 @@ uint32_t dtr_get_prop_u32(dtr *s, dtr_obj *node, const char *name) {
ptmp = g_strdup_printf("%s/%s", (node == NULL) ? "" : node->path, name);
prop = dtr_obj_read(s, ptmp);
- if (prop != NULL && prop->data != NULL) {
- ret = be32toh(*prop->data_int);
+ if (prop != NULL) {
+ if (prop->data != NULL)
+ ret = be32toh(*prop->data_int);
dtr_obj_free(prop);
}
g_free(ptmp);
@@ -490,8 +491,9 @@ uint64_t dtr_get_prop_u64(dtr *s, dtr_obj *node, const char *name) {
ptmp = g_strdup_printf("%s/%s", (node == NULL) ? "" : node->path, name);
prop = dtr_obj_read(s, ptmp);
- if (prop != NULL && prop->data != NULL) {
- ret = be64toh(*prop->data_int64);
+ if (prop != NULL) {
+ if (prop->data != NULL)
+ ret = be64toh(*prop->data_int64);
dtr_obj_free(prop);
}
g_free(ptmp);
@@ -582,7 +584,7 @@ char *dtr_elem_oppv2(dtr_obj* obj) {
dt_opp_range *opp = dtr_get_opp_range(obj->dt, parent->path);
if (opp) {
snprintf(opp_str, 511, "[%d - %d %s]", opp->khz_min, opp->khz_max, _("kHz"));
- free(opp);
+ g_free(opp);
}
dtr_obj_free(parent);
}
@@ -968,9 +970,8 @@ dt_opp_range *dtr_get_opp_range(dtr *s, const char *name) {
if (tab_status && strcmp(tab_status, "disabled") == 0)
goto get_opp_finish;
- ret = malloc(sizeof(dt_opp_range));
+ ret = g_new0(dt_opp_range, 1);
ret->phandle = opp_ph;
- ret->khz_min = ret->khz_max = ret->clock_latency_ns = 0;
full_path = dtr_obj_full_path(table_obj);
dir = g_dir_open(full_path, 0 , NULL);
diff --git a/hardinfo/gpu_util.c b/hardinfo/gpu_util.c
index dee3c431..94654eb4 100644
--- a/hardinfo/gpu_util.c
+++ b/hardinfo/gpu_util.c
@@ -97,7 +97,7 @@ void gpud_free(gpud *s) {
free(s->drm_dev);
free(s->sysfs_drm_path);
free(s->dt_compat);
- free(s->dt_opp);
+ g_free(s->dt_opp);
pcid_free(s->pci_dev);
nvgpu_free(s->nv_info);
g_free(s);
diff --git a/includes/dt_util.h b/includes/dt_util.h
index 62b215fc..5f2f3233 100644
--- a/includes/dt_util.h
+++ b/includes/dt_util.h
@@ -99,6 +99,7 @@ typedef struct {
uint32_t clock_latency_ns;
} dt_opp_range;
+/* free result with g_free() */
dt_opp_range *dtr_get_opp_range(dtr *, const char *name);
#endif