From b84b007cd0ef504e8c86b8cc73646f3119ed343c Mon Sep 17 00:00:00 2001
From: Steve Grubb <ausearch.1@gmail.com>
Date: Wed, 29 Nov 2023 15:49:21 -0500
Subject: [PATCH] Change the first iteration test so static analysis better
 understands the code

Reference:https://github.com/linux-audit/audit-userspace/commit/b84b007cd0ef504e8c86b8cc73646f3119ed343c
Conflict:NA

---
 tools/aulast/aulast-llist.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/tools/aulast/aulast-llist.c b/tools/aulast/aulast-llist.c
index 87638ebc..d7765ba4 100644
--- a/tools/aulast/aulast-llist.c
+++ b/tools/aulast/aulast-llist.c
@@ -140,11 +140,15 @@ int list_update_logout(llist* l, time_t t, unsigned long serial)
 lnode *list_delete_cur(llist *l)
 {
         register lnode *cur, *prev;
-                                                                                
-       	prev = cur = l->head;	/* start at the beginning */
+
+	if (l == NULL || l->head == NULL)
+		return NULL;
+
+	prev = cur = l->head;	/* start at the beginning */
 	while (cur) {
 		if (cur == l->cur) {
-			if (cur == prev && cur == l->head) {
+			// If the first iteration
+			if (prev == l->head && cur == l->head) {
 				l->head = cur->next;
 				l->cur = cur->next;
 				free((void *)cur->name);
-- 
2.33.0

