Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
rpki-client: don't leak mft->crl
To:
tech@openbsd.org
Date:
Wed, 15 May 2024 11:00:53 +0200

Download raw body.

Thread
Another obvious leak. filesz and files must be in sync, so no need for a
NULL check. Also I find it much easier to check for leaks if the order
of the freeing matches the order in the struct.

Index: mft.c
===================================================================
RCS file: /cvs/src/usr.sbin/rpki-client/mft.c,v
diff -u -p -r1.113 mft.c
--- mft.c	20 Apr 2024 15:45:41 -0000	1.113
+++ mft.c	15 May 2024 08:49:46 -0000
@@ -512,17 +512,17 @@ mft_free(struct mft *p)
 	if (p == NULL)
 		return;
 
-	if (p->files != NULL)
-		for (i = 0; i < p->filesz; i++)
-			free(p->files[i].file);
+	for (i = 0; i < p->filesz; i++)
+		free(p->files[i].file);
 
+	free(p->path);
+	free(p->files);
+	free(p->seqnum);
 	free(p->aia);
 	free(p->aki);
 	free(p->sia);
 	free(p->ski);
-	free(p->path);
-	free(p->files);
-	free(p->seqnum);
+	free(p->crl);
 	free(p);
 }