libelf: Return error if elf_compress_gnu is used on SHF_COMPRESSED section.
authorMark Wielaard <mark@klomp.org>
Sat, 18 Aug 2018 10:42:16 +0000 (12:42 +0200)
committerMark Wielaard <mark@klomp.org>
Sat, 18 Aug 2018 10:42:16 +0000 (12:42 +0200)
commit56b18521fb8d46d40fc090c0de9d11a08bc982fa
tree7da21f9eb730308766f7ccd282ebd628fb1070e7
parent7df3138246193c5d72b53fe789457114ecf071cb
libelf: Return error if elf_compress_gnu is used on SHF_COMPRESSED section.

Compressing a section that is already compressed is fine, but useless.
But it isn't possible to gnu compress (or decompress) a SHF_COMPRESSED
section since there is no state kept that would tell if the section was
first GNU compressed or first gabi compressed. Calling elf_compress_gnu
on a section and then calling elf_compress on it to decompress it twice
could cause a crash (the other way around is fine). Just disallow it.

https://sourceware.org/bugzilla/show_bug.cgi?id=23528

Signed-off-by: Mark Wielaard <mark@klomp.org>
libelf/ChangeLog
libelf/elf_compress_gnu.c
libelf/libelf.h