projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
updates.
[silc.git]
/
lib
/
silcutil
/
silcschedule.c
diff --git
a/lib/silcutil/silcschedule.c
b/lib/silcutil/silcschedule.c
index 828e78748e639167b95b043064312d28656fb5c7..db939c3ad201df748aa4f7fde12362d681245dde 100644
(file)
--- a/
lib/silcutil/silcschedule.c
+++ b/
lib/silcutil/silcschedule.c
@@
-936,6
+936,7
@@
static void silc_task_queue_alloc(SilcTaskQueue *queue)
static void silc_task_queue_free(SilcTaskQueue queue)
{
silc_mutex_free(queue->lock);
static void silc_task_queue_free(SilcTaskQueue queue)
{
silc_mutex_free(queue->lock);
+ memset(queue, 'F', sizeof(*queue));
silc_free(queue);
}
silc_free(queue);
}
@@
-1172,10
+1173,11
@@
static int silc_schedule_task_remove(SilcTaskQueue queue, SilcTask task)
next = first;
while(1) {
next = first;
while(1) {
-
next
= next->next;
- silc_free(next
->prev
);
- if (
next
== first)
+
old
= next->next;
+ silc_free(next);
+ if (
old
== first)
break;
break;
+ next = old;
}
queue->task = NULL;
}
queue->task = NULL;