From: Tobias Stoeckmann Date: Sun, 12 Jul 2015 12:30:32 +0000 (+0200) Subject: Free memory on error path X-Git-Tag: 4.3.0~9^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F6%2Fhead;p=thirdparty%2Fshadow.git 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. --- diff --git a/lib/commonio.c b/lib/commonio.c index cc536bf14..8ff0e07d0 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);