From: Sebastien GODARD Date: Tue, 22 Dec 2020 11:31:33 +0000 (+0100) Subject: sar/sadc: Dereference nr array pointer in struct activity X-Git-Tag: v12.5.3~25 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5314e553e9abfbe9cd18d9a2c58de3e26ff5076e;p=sysstat sar/sadc: Dereference nr array pointer in struct activity nr field in struct activity is an array of integers, not an integer itself. So dereference it to actually access the values. Signed-off-by: Sebastien GODARD --- diff --git a/sadc.c b/sadc.c index 5a11ab2..8f4d645 100644 --- a/sadc.c +++ b/sadc.c @@ -294,7 +294,7 @@ void reset_stats(void) int i; for (i = 0; i < NR_ACT; i++) { - if ((act[i]->nr > 0) && act[i]->_buf0) { + if ((act[i]->_nr0 > 0) && act[i]->_buf0) { memset(act[i]->_buf0, 0, (size_t) act[i]->msize * (size_t) act[i]->nr_allocated * (size_t) act[i]->nr2); } diff --git a/sadf.c b/sadf.c index bced02e..4acdfcf 100644 --- a/sadf.c +++ b/sadf.c @@ -717,13 +717,13 @@ int generic_write_stats(int curr, int use_tm_start, int use_tm_end, int reset, continue; if ((TEST_MARKUP(fmt[f_position]->options) && CLOSE_MARKUP(act[i]->options)) || - (IS_SELECTED(act[i]->options) && (act[i]->nr > 0))) { + (IS_SELECTED(act[i]->options) && (act[i]->nr[curr] > 0))) { if (format == F_JSON_OUTPUT) { /* JSON output */ int *tab = (int *) parm; - if (IS_SELECTED(act[i]->options) && (act[i]->nr > 0)) { + if (IS_SELECTED(act[i]->options) && (act[i]->nr[curr] > 0)) { if (*fmt[f_position]->f_timestamp) { (*fmt[f_position]->f_timestamp)(tab, F_MAIN, cur_date, cur_time,