diff --git a/src/passbook.c b/src/passbook.c
index 89af7fe3ef4fc66352f483bae98a88167825ef55..1358659a89c1d144b607130d2efd74cd31dd4f87 100644
--- a/src/passbook.c
+++ b/src/passbook.c
@@ -246,56 +246,43 @@ nodeptr_list_t list_push(nodeptr_list_t lst, const node_t *p){
return lst;
}
-/* when out is non-NULL we place a pointer to the first node into it */
+/* when out is non-NULL we place a pointer to the first node into it.
+ assumption: lst.head and lst.last are non-NULL */
nodeptr_list_t list_pop(nodeptr_list_t lst, const node_t **out){
- if (lst.head != NULL){
- assert(lst.last != NULL);
- if (out != NULL){
- *out = lst.head->p;
- }
- if (lst.last == lst.head){
- free(lst.head);
- lst.head = NULL;
- lst.last = NULL;
- }else{
- nodeptr_list_elem_t *ret = lst.head->next;
- free(lst.head);
- lst.head = ret;
- }
- return lst;
+ assert(lst.head != NULL && lst.last != NULL);
+ if (out != NULL){
+ *out = lst.head->p;
+ }
+ if (lst.last == lst.head){
+ free(lst.head);
+ lst.head = NULL;
+ lst.last = NULL;
}else{
- assert(lst.last == NULL);
- if (out != NULL){
- *out = (const node_t *)NULL;
- }
- return lst;
+ nodeptr_list_elem_t *ret = lst.head->next;
+ free(lst.head);
+ lst.head = ret;
}
+ return lst;
}
+/* when out is non-NULL we place a pointer to the last node into it.
+ assumption: lst.head and lst.last are non-NULL */
nodeptr_list_t list_dequeue(nodeptr_list_t lst, const node_t **out){
- if (lst.last != NULL){
- assert(lst.head != NULL);
- if (out != NULL){
- *out = lst.last->p;
- }
+ assert(lst.head != NULL && lst.last != NULL);
+ if (out != NULL){
+ *out = lst.last->p;
+ }
- if (lst.last == lst.head){
- free(lst.head);
- lst.head = NULL;
- lst.last = NULL;
- }else{
- nodeptr_list_elem_t *ret = lst.last->prev;
- free(lst.last);
- lst.last = ret;
- }
- return lst;
+ if (lst.last == lst.head){
+ free(lst.head);
+ lst.head = NULL;
+ lst.last = NULL;
}else{
- assert(lst.head == NULL);
- if (out != NULL){
- *out = (const node_t *)NULL;
- }
- return lst;
+ nodeptr_list_elem_t *ret = lst.last->prev;
+ free(lst.last);
+ lst.last = ret;
}
+ return lst;
}
#ifdef UNUSED_FUNCTIONS
@@ -534,8 +521,6 @@ static int run(FILE *f){
}
}
}
- assert(0 && "Should never reach here");
- return 0;
}
#ifdef PASSBOOK_LIBFUZZER