mirror of https://github.com/xzeldon/htop.git
Additional pointer checks in dynamic meter code for Coverity
This commit is contained in:
parent
bf853addc3
commit
9cbee01877
|
@ -194,13 +194,15 @@ static void PCPDynamicMeter_parseFile(PCPDynamicMeters* meters, const char* path
|
||||||
meter = PCPDynamicMeter_new(meters, key+1);
|
meter = PCPDynamicMeter_new(meters, key+1);
|
||||||
} else if (!ok) {
|
} else if (!ok) {
|
||||||
; /* skip this one, we're looking for a new header */
|
; /* skip this one, we're looking for a new header */
|
||||||
} else if (value && String_eq(key, "caption")) {
|
} else if (value && meter && String_eq(key, "caption")) {
|
||||||
char* caption = String_cat(value, ": ");
|
char* caption = String_cat(value, ": ");
|
||||||
free_and_xStrdup(&meter->super.caption, caption);
|
if (caption) {
|
||||||
free(caption);
|
free_and_xStrdup(&meter->super.caption, caption);
|
||||||
} else if (value && String_eq(key, "description")) {
|
free(caption);
|
||||||
|
}
|
||||||
|
} else if (value && meter && String_eq(key, "description")) {
|
||||||
free_and_xStrdup(&meter->super.description, value);
|
free_and_xStrdup(&meter->super.description, value);
|
||||||
} else if (value && String_eq(key, "type")) {
|
} else if (value && meter && String_eq(key, "type")) {
|
||||||
if (String_eq(config[1], "bar"))
|
if (String_eq(config[1], "bar"))
|
||||||
meter->super.type = BAR_METERMODE;
|
meter->super.type = BAR_METERMODE;
|
||||||
else if (String_eq(config[1], "text"))
|
else if (String_eq(config[1], "text"))
|
||||||
|
@ -209,9 +211,9 @@ static void PCPDynamicMeter_parseFile(PCPDynamicMeters* meters, const char* path
|
||||||
meter->super.type = GRAPH_METERMODE;
|
meter->super.type = GRAPH_METERMODE;
|
||||||
else if (String_eq(config[1], "led"))
|
else if (String_eq(config[1], "led"))
|
||||||
meter->super.type = LED_METERMODE;
|
meter->super.type = LED_METERMODE;
|
||||||
} else if (value && String_eq(key, "maximum")) {
|
} else if (value && meter && String_eq(key, "maximum")) {
|
||||||
meter->super.maximum = strtod(value, NULL);
|
meter->super.maximum = strtod(value, NULL);
|
||||||
} else if (value) {
|
} else if (value && meter) {
|
||||||
PCPDynamicMeter_parseMetric(meters, meter, path, lineno, key, value);
|
PCPDynamicMeter_parseMetric(meters, meter, path, lineno, key, value);
|
||||||
}
|
}
|
||||||
String_freeArray(config);
|
String_freeArray(config);
|
||||||
|
|
Loading…
Reference in New Issue