diff --git a/lib/hook.c b/lib/hook.c index dcc93a21b..ebfefc44b 100644 --- a/lib/hook.c +++ b/lib/hook.c @@ -147,7 +147,7 @@ int hook_cmp_priority(const void *a, const void *b) int hook_parse_list(struct list *list, config_setting_t *cfg, struct path *o) { - struct hook h; + struct hook h = {.state = STATE_DESTROYED}; struct plugin *p; int ret, priority = 10; @@ -183,4 +183,4 @@ int hook_parse_list(struct list *list, config_setting_t *cfg, struct path *o) } return 0; -} \ No newline at end of file +} diff --git a/lib/path.c b/lib/path.c index 4a625bc7d..bf643ac3e 100644 --- a/lib/path.c +++ b/lib/path.c @@ -58,7 +58,8 @@ static void path_read(struct path *p) if (enqueue != recv) { info("Hooks skipped %u out of %u samples for path %s", recv - enqueue, recv, path_name(p)); - stats_update(p->stats->delta, STATS_SKIPPED, recv - enqueue); + if (p->stats) + stats_update(p->stats->delta, STATS_SKIPPED, recv - enqueue); } /* Keep track of the lowest index that wasn't enqueued; @@ -452,7 +453,7 @@ int path_reverse(struct path *p, struct path *r) for (size_t i = 0; i < list_length(&p->hooks); i++) { struct hook *h = list_at(&p->hooks, i); - struct hook hc; + struct hook hc = {.state = STATE_DESTROYED}; ret = hook_init(&hc, h->_vt, p); if (ret)