Use rpmteSetFI() to clear memory instead of direct access
authorPanu Matilainen <pmatilai@redhat.com>
Fri, 19 Dec 2008 12:13:48 +0000 (14:13 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Fri, 19 Dec 2008 12:13:48 +0000 (14:13 +0200)
- also fixes memleak in case rpmfi has no files

lib/transaction.c

index 27a6d6a..7a59a30 100644 (file)
@@ -1237,11 +1237,7 @@ int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
      */
     pi = rpmtsiInit(ts);
     while ((p = rpmtsiNext(pi, 0)) != NULL) {
-       if ((fi = rpmteFI(p)) == NULL)
-           continue;   /* XXX can't happen */
-       if (rpmfiFC(fi) == 0)
-           continue;
-       p->fi = rpmfiFree(fi);
+       rpmteSetFI(p, NULL);
     }
     pi = rpmtsiFree(pi);