ld: Avoid overflows in string merging
authorMichael Matz <matz@suse.de>
Tue, 7 Nov 2023 15:54:44 +0000 (16:54 +0100)
committerMichael Matz <matz@suse.de>
Thu, 9 Nov 2023 16:42:04 +0000 (17:42 +0100)
commit836654b1177ab305c36fe7319f08f0ad5d4fac1b
tree8f65ea2835c51fac54fd9dcfc09b40f921c6b7aa
parent7b0c124970d0dba1703284189f09be2cbe17fa91
ld: Avoid overflows in string merging

as the bug report shows we had an overflow in the test if
hash table resizing is needed.  Reorder the expression to avoid
that.  There's still a bug somewhere in gracefully handling
failure in resizing (e.g. out of memory), but this pushes the
boundary for that occurring somewhen into the future and
immediately helps the reporter.

    bfd/

    PR ld/31009
    * merge.c (NEEDS_RESIZE): New macro avoiding overflow.
    (sec_merge_maybe_resize): Use it.
    (sec_merge_hash_insert): Ditto.
bfd/merge.c