When relocation changes the directory structure, we might end up skipping rpmfi 
entries entirely, in which case there can be uninitialized entries in the 
fingerprint array which we then operate on. Oops.

It doesn't seem chroot specific, but triggers more easily that way.

Ensure the whole array is zeroed on allocation (should use STL here but 
that's a job for another day), and skip fingerprints with NULL entries 
everywhere we come across them. Add a test to go.

This bug may well be as old as the fingerprinting system itself.

Fixes: #3499
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/3998

-- Commit Summary --

  * Fix a relocation related crash in fingerprinting

-- File Changes --

    M lib/fprint.cc (26)
    M lib/transaction.cc (3)
    M tests/rpmi.at (23)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/3998.patch
https://github.com/rpm-software-management/rpm/pull/3998.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3998
You are receiving this because you are subscribed to this thread.

Message ID: <rpm-software-management/rpm/pull/[email protected]>
_______________________________________________
Rpm-maint mailing list
[email protected]
https://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to