Fix coverity issues (#5061)
Vladimir Kobal committed
Dec 28, 2018 at 13:13 UTC
e50acfbc5df8ddc25abbedc8e9d953fa3ef4361c
1 file changed
+6
-4
collectors/proc.plugin/sys_class_power_supply.c
+6
-4
@@ -104,7 +104,7 @@ void power_supply_free(struct power_supply *ps) {
104
else {
105
struct power_supply *last;
106
for(last = power_supply_root; last && last->next != ps; last = last->next);
107
- last->next = ps->next;
107
+ if(likely(last)) last->next = ps->next;
108
}
109
110
freez(ps);
@@ -236,8 +236,10 @@ int do_sys_class_power_supply(int update_every, usec_t dt) {
236
error("Cannot read file '%s'", ps->capacity->filename);
237
power_supply_free(ps);
238
}
239
- buffer[r] = '\0';
240
- ps->capacity->value = str2ull(buffer);
239
+ else {
240
+ buffer[r] = '\0';
241
+ ps->capacity->value = str2ull(buffer);
242
+ }
243
244
if(unlikely(!keep_fds_open)) {
245
close(ps->capacity->fd);
@@ -342,7 +344,7 @@ int do_sys_class_power_supply(int update_every, usec_t dt) {
344
struct ps_property *pr;
345
for(pr = ps->property_root; pr; pr = pr->next) {
346
if(unlikely(!pr->st)) {
345
- char id[50 + 1], context[50 + 1];
347
+ char id[RRD_ID_LENGTH_MAX + 1], context[RRD_ID_LENGTH_MAX + 1];
348
snprintfz(id, RRD_ID_LENGTH_MAX, "powersupply_%s", pr->name);
349
snprintfz(context, RRD_ID_LENGTH_MAX, "powersupply.%s", pr->name);
350