aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2022-01-31 08:42:07 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2022-01-31 12:07:39 -0800
commita7de740baad9b8b06b80098a3fd5bd0997218f52 (patch)
treee2f00ded48f8059682c47b562e12d4caef50aef1
parentsort: pacify -fsanitizer=leak (diff)
downloadcoreutils-a7de740baad9b8b06b80098a3fd5bd0997218f52.tar.gz
coreutils-a7de740baad9b8b06b80098a3fd5bd0997218f52.zip
tsort: pacify -fsanitizer=leak
* src/tsort.c (detect_loop): Free removed successor.
-rw-r--r--src/tsort.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/tsort.c b/src/tsort.c
index 28a7a05f6..19b991bed 100644
--- a/src/tsort.c
+++ b/src/tsort.c
@@ -352,8 +352,10 @@ detect_loop (struct item *k)
if (loop == k)
{
/* Remove relation. */
- (*p)->suc->count--;
- *p = (*p)->next;
+ struct successor *s = *p;
+ s->suc->count--;
+ *p = s->next;
+ IF_LINT (free (s));
break;
}