BUG/MEDIUM: tasks: fix possible segfault on task_destroy()
Commit 3f795f7 ("MEDIUM: tasks: Merge task_delete() and task_free() into
task_destroy().") replaced task_delete() and task_free() with a single
function named task_destroy().
This patch adds a check for struct task* argument in function
task_destroy() to prevent a possible segfault on NULL and also to make
the function safer for use in other cases.
diff --git a/include/proto/task.h b/include/proto/task.h
index 859aea3..f167933 100644
--- a/include/proto/task.h
+++ b/include/proto/task.h
@@ -331,6 +331,9 @@
static inline void task_destroy(struct task *t)
{
+ if (!t)
+ return;
+
task_unlink_wq(t);
/* We don't have to explicitely remove from the run queue.
* If we are in the runqueue, the test below will set t->process