summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/privs.c4
-rw-r--r--lib/thread.c3
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/privs.c b/lib/privs.c
index 09efedf684..eb0dbe0783 100644
--- a/lib/privs.c
+++ b/lib/privs.c
@@ -406,9 +406,11 @@ static void zprivs_caps_init(struct zebra_privs_t *zprivs)
static void zprivs_caps_terminate(void)
{
- /* clear all capabilities */
+ /* Clear all capabilities, if we have any. */
if (zprivs_state.caps)
cap_clear(zprivs_state.caps);
+ else
+ return;
/* and boom, capabilities are gone forever */
if (cap_set_proc(zprivs_state.caps)) {
diff --git a/lib/thread.c b/lib/thread.c
index 4d689a9f88..9b2f5661ac 100644
--- a/lib/thread.c
+++ b/lib/thread.c
@@ -1094,7 +1094,8 @@ static void do_thread_cancel(struct thread_master *master)
}
/* Delete and free all cancellation requests */
- list_delete_all_node(master->cancel_req);
+ if (master->cancel_req)
+ list_delete_all_node(master->cancel_req);
/* Wake up any threads which may be blocked in thread_cancel_async() */
master->canceled = true;