From a3ce393e0aef3b103a77ef1ca0867fe63cfc01a4 Mon Sep 17 00:00:00 2001 From: Armin Luntzer <armin.luntzer@univie.ac.at> Date: Wed, 22 Mar 2017 14:46:07 +0100 Subject: [PATCH] data processing net/tracker: return only valid nodes, check for NULL in pointer argument --- lib/data_proc_net.c | 10 +++++----- lib/data_proc_tracker.c | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/data_proc_net.c b/lib/data_proc_net.c index 0273ccc..1754057 100644 --- a/lib/data_proc_net.c +++ b/lib/data_proc_net.c @@ -215,13 +215,13 @@ struct proc_tracker *pn_get_next_pending_tracker(struct proc_net *pn) if (cnt++ > pn->n) break; - if (!pt_track_tasks_pending(pt)) - pn_node_to_queue_tail(pn, pt); - else - break; + if (pt_track_tasks_pending(pt)) + return pt; + + pn_node_to_queue_tail(pn, pt); } - return pt; + return NULL; } diff --git a/lib/data_proc_tracker.c b/lib/data_proc_tracker.c index a27fceb..8750668 100644 --- a/lib/data_proc_tracker.c +++ b/lib/data_proc_tracker.c @@ -152,6 +152,8 @@ struct proc_task *pt_track_get(struct proc_tracker *pt) { struct proc_task *t; + if (!pt) + return NULL; if (list_empty(&pt->tasks)) return NULL; -- GitLab