Skip to content

Commit 7589b56

Browse files
author
john lee
committed
fix problum with memory leak
1 parent 9d86381 commit 7589b56

File tree

1 file changed

+22
-16
lines changed

1 file changed

+22
-16
lines changed

getnode.cpp

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,33 +20,34 @@ GetNode::GetNode()
2020

2121
QString GetNode::GetGPUCurFreq()
2222
{
23+
FILE *fp = NULL;
24+
char buf[4] = {'\0',};
25+
fp = fopen(GPUFREQ_NODE, "r");
2326

24-
QFile *fp = new QFile(GPUFREQ_NODE);
25-
char buf[4];
26-
27-
if (!fp->open(QIODevice::ReadOnly)) {
27+
if (fp == NULL) {
2828
return 0;
2929
}
3030

31-
fp->readLine(buf, 4);
31+
fread(buf, 1, 3, fp);
3232

33-
fp->close();
33+
fclose(fp);
3434

3535
return buf;
3636
}
3737

3838
QString GetNode::GetCPUCurFreq(int cpuNum)
3939
{
40-
QFile *fp = new QFile(cpu_node_list[cpuNum]);
41-
char buf[8];
40+
FILE *fp = NULL;
41+
char buf[8] = {'\0',};
4242
int v;
43+
fp = fopen(cpu_node_list[cpuNum].toUtf8(), "r");
4344

44-
if (!fp->open(QIODevice::ReadOnly)) {
45+
if (fp == NULL) {
4546
return 0;
4647
}
4748

48-
fp->readLine(buf, 8);
49-
fp->close();
49+
fread(buf, 1, 8, fp);
50+
fclose(fp);
5051

5152
v = atoi(buf) / 1000;
5253
sprintf(buf, "%d", v);
@@ -56,18 +57,23 @@ QString GetNode::GetCPUCurFreq(int cpuNum)
5657

5758
QString GetNode::GetCPUTemp(int cpuNum)
5859
{
59-
QFile *fp = new QFile(TEMP_NODE);
60+
FILE *fp = NULL;
61+
62+
fp = fopen(TEMP_NODE, "r");
63+
6064
char buf[16];
6165

62-
if (!fp->open(QIODevice::ReadOnly)) {
63-
return 0;
66+
if (fp == NULL) {
67+
return NULL;
6468
}
6569

6670
for (int i = 0; i < cpuNum + 1; i++)
67-
fp->read(buf, 16);
71+
fread(buf, 1, 16, fp);
72+
73+
fclose(fp);
6874

69-
fp->close();
7075
buf[12] = '\0';
76+
7177
return &buf[9];
7278
}
7379

0 commit comments

Comments
 (0)