40 lines
1.3 KiB
Diff
40 lines
1.3 KiB
Diff
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
|
|
|