summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Scott <natoscott@users.noreply.github.com>2021-08-17 15:42:33 +1000
committerGitHub <noreply@github.com>2021-08-17 15:42:33 +1000
commit3f727d4720c8df38789dea246a5217a5412ebbcf (patch)
tree0b7093afd5d7846f86b1e317c0022130ca66e42e
parentfefff80631e86f0296a2621a3699b16de60b86c6 (diff)
parentd5ff5c48a889c1eab6e3792d3f5ca1566cf05491 (diff)
Merge pull request #747 from natoscott/coverity
Coverity scan updates (minor)
-rw-r--r--Action.c5
-rw-r--r--pcp/PCPDynamicColumn.c3
-rw-r--r--pcp/PCPProcessList.c2
-rw-r--r--pcp/Platform.c8
-rw-r--r--pcp/Platform.h4
5 files changed, 13 insertions, 9 deletions
diff --git a/Action.c b/Action.c
index 5d774587..a63b30e4 100644
--- a/Action.c
+++ b/Action.c
@@ -174,8 +174,9 @@ static Htop_Reaction actionSetSortColumn(State* st) {
char* name = NULL;
if (fields[i] >= LAST_PROCESSFIELD) {
DynamicColumn* column = Hashtable_get(dynamicColumns, fields[i]);
- if (column)
- name = xStrdup(column->caption ? column->caption : column->name);
+ if (!column)
+ continue;
+ name = xStrdup(column->caption ? column->caption : column->name);
} else {
name = String_trim(Process_fields[fields[i]].name);
}
diff --git a/pcp/PCPDynamicColumn.c b/pcp/PCPDynamicColumn.c
index 141978a7..3c4e6797 100644
--- a/pcp/PCPDynamicColumn.c
+++ b/pcp/PCPDynamicColumn.c
@@ -287,6 +287,9 @@ void PCPDynamicColumn_writeField(PCPDynamicColumn* this, const Process* proc, Ri
int PCPDynamicColumn_compareByKey(const PCPProcess* p1, const PCPProcess* p2, ProcessField key) {
const PCPDynamicColumn* column = Hashtable_get(p1->super.processList->dynamicColumns, key);
+ if (!column)
+ return -1;
+
size_t metric = column->id;
unsigned int type = PCPMetric_type(metric);
diff --git a/pcp/PCPProcessList.c b/pcp/PCPProcessList.c
index e4f9a5fd..3001d5e8 100644
--- a/pcp/PCPProcessList.c
+++ b/pcp/PCPProcessList.c
@@ -35,7 +35,7 @@ static void PCPProcessList_updateCPUcount(PCPProcessList* this) {
unsigned int cpus = Platform_getMaxCPU();
if (cpus == pl->existingCPUs)
return;
- if (cpus <= 0)
+ if (cpus == 0)
cpus = pl->activeCPUs;
if (cpus <= 1)
cpus = pl->activeCPUs = 1;
diff --git a/pcp/Platform.c b/pcp/Platform.c
index 97788569..d5a76b55 100644
--- a/pcp/Platform.c
+++ b/pcp/Platform.c
@@ -396,15 +396,15 @@ void Platform_getLoadAverage(double* one, double* five, double* fifteen) {
}
}
-int Platform_getMaxCPU(void) {
+unsigned int Platform_getMaxCPU(void) {
if (pcp->ncpu)
return pcp->ncpu;
pmAtomValue value;
- if (PCPMetric_values(PCP_HINV_NCPU, &value, 1, PM_TYPE_32) != NULL)
- pcp->ncpu = value.l;
+ if (PCPMetric_values(PCP_HINV_NCPU, &value, 1, PM_TYPE_U32) != NULL)
+ pcp->ncpu = value.ul;
else
- pcp->ncpu = -1;
+ pcp->ncpu = 1;
return pcp->ncpu;
}
diff --git a/pcp/Platform.h b/pcp/Platform.h
index 9d0c8f53..dcb8dc98 100644
--- a/pcp/Platform.h
+++ b/pcp/Platform.h
@@ -54,7 +54,7 @@ typedef struct Platform_ {
long long btime; /* boottime in seconds since the epoch */
char* release; /* uname and distro from this context */
int pidmax; /* maximum platform process identifier */
- int ncpu; /* maximum processor count configured */
+ unsigned int ncpu; /* maximum processor count configured */
} Platform;
extern ProcessField Platform_defaultFields[];
@@ -79,7 +79,7 @@ void Platform_getLoadAverage(double* one, double* five, double* fifteen);
long long Platform_getBootTime(void);
-int Platform_getMaxCPU(void);
+unsigned int Platform_getMaxCPU(void);
int Platform_getMaxPid(void);

© 2014-2024 Faster IT GmbH | imprint | privacy policy