[Rpm-maint] [rpm-software-management/rpm] Fix 32-bit builds (#1643)
Demi Marie Obenour
notifications at github.com
Sat Apr 17 17:48:03 UTC 2021
RPM has been broken on 32-bit platforms since
1efe530450b5bdbd90128327be56c87fa1b6843b, due to an integer promotion
bug: ‘einfo.offset’ gets promoted to unsigned, but promoting a negative
number produces a very large positive number. When that number is
divided by 16, the result is still a large positive number, but the top
four bits are cleared. Therefore, negating it produces a large negative
number with the four most significant bits set. On 64 bit platforms,
the implicit conversion to ‘int32_t’ masks these off, but on 32-bit
platforms, the result is a negative ‘blob->ril’ that is later rejected.
The result is that no package can be installed.
This bug only affected 32-bit builds, which is why it was missed by CI.
It does not affect any release version.
Fixes: 1efe530450b5bdbd90128327be56c87fa1b6843b
You can view, comment on, or merge this pull request online at:
https://github.com/rpm-software-management/rpm/pull/1643
-- Commit Summary --
* Fix 32-bit builds
-- File Changes --
M lib/header.c (9)
-- Patch Links --
https://github.com/rpm-software-management/rpm/pull/1643.patch
https://github.com/rpm-software-management/rpm/pull/1643.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1643
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20210417/fe36f722/attachment.html>
More information about the Rpm-maint
mailing list