Adjust patch to use dlist_pop()
diff --git a/lib/llist.c b/lib/llist.c
index 596da40..71a187d 100644
--- a/lib/llist.c
+++ b/lib/llist.c
@@ -37,8 +37,11 @@
 {
   struct double_list **pdlist = (struct double_list **)list, *dlist = *pdlist;
 
-  dlist->next->prev = dlist->prev;
-  dlist->prev->next = *pdlist = dlist->next;
+  if (dlist->next == dlist) *pdlist = 0;
+  else {
+    dlist->next->prev = dlist->prev;
+    dlist->prev->next = *pdlist = dlist->next;
+  }
 
   return dlist;
 }