From c17f5ec460132ca0b8f066d1c75672cbcce6a0fa Mon Sep 17 00:00:00 2001 From: Tobias Stoeckmann Date: Sun, 12 Jul 2015 14:30:32 +0200 Subject: [PATCH] Free memory on error path When multiple entries with the same name are encountered, nentry is not properly freed, which results in a memory leak. --- lib/commonio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/commonio.c b/lib/commonio.c index cc536bf1..8ff0e07d 100644 --- a/lib/commonio.c +++ b/lib/commonio.c @@ -1081,6 +1081,7 @@ int commonio_update (struct commonio_db *db, const void *eptr) if (NULL != p) { if (next_entry_by_name (db, p->next, db->ops->getname (eptr)) != NULL) { fprintf (stderr, _("Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"), db->ops->getname (eptr), db->filename); + db->ops->free (nentry); return 0; } db->ops->free (p->eptr);