libbacktrace: add cast to avoid undefined shift

Patch from pgerell@github.

	* elf.c (elf_uncompress_lzma_block): Add casts to avoid
	potentially shifting a value farther than its type size.
This commit is contained in:
Ian Lance Taylor 2025-02-10 15:03:31 -08:00
parent d2ff1b78d7
commit d5c72da62d

View File

@ -5878,7 +5878,7 @@ elf_uncompress_lzma_block (const unsigned char *compressed,
/* The byte at compressed[off] is ignored for some
reason. */
code = ((uint32_t)(compressed[off + 1] << 24)
code = (((uint32_t)compressed[off + 1] << 24)
+ ((uint32_t)compressed[off + 2] << 16)
+ ((uint32_t)compressed[off + 3] << 8)
+ (uint32_t)compressed[off + 4]);