You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ix = rpmdbGetIteratorIndex(mfi->pi);
if (ix < rpmdbGetIteratorCount(mfi->pi)) {
offset = rpmdbGetIteratorOffsetFor(mfi->pi, ix);
if (packageHashGetEntry(mfi->ts->members->removedPackages, offset,
&te, NULL, NULL)) {
/* Files are available in memory */
files = rpmteFiles(te[0]);
}
if (packageHashGetEntry(mfi->ts->members->installedPackages, offset,
&te, NULL, NULL)) {
/* Files are available in memory */
files = rpmteFiles(te[0]);
}
}
if (files) {
rpmdbSetIteratorIndex(mfi->pi, ix 1);
mfi->pkgname = rpmteN(te[0]);
} else {
The problem is that the second packageHashGetEntry call resets te to NULL, thus rpmteN(te[0]) will segfault if the te was found in the removedPackages hash. Current git has this fixed when C hashes were used.
I would do a similar fix, i.e. rename te to tes, add rpmte te = NULL;, add te = tes[0] before the assignment to files.
The text was updated successfully, but these errors were encountered:
rpmtriggers.c contains this:
The problem is that the second packageHashGetEntry call resets
te
to NULL, thusrpmteN(te[0])
will segfault if the te was found in the removedPackages hash. Current git has this fixed when C hashes were used.I would do a similar fix, i.e. rename
te
totes
, addrpmte te = NULL;
, addte = tes[0]
before the assignment to files.The text was updated successfully, but these errors were encountered: