Check when optimizeRelocs()

https://github.com/upx/upx/issues/513
	modified:   packer.h
	modified:   packer.cpp
	modified:   pefile.cpp
	modified:   p_wcle.cpp
	modified:   p_tmt.cpp
This commit is contained in:
John Reiser
2021-12-29 16:57:52 -08:00
committed by Markus F.X.J. Oberhumer
parent be23f93ee6
commit ea567a8b14
5 changed files with 48 additions and 19 deletions
+15 -8
View File
@@ -269,15 +269,22 @@ protected:
void checkPatch(void *b, int blen, int boff, int size);
// relocation util
static upx_byte *optimizeReloc(upx_byte *in, unsigned relocnum, upx_byte *out, upx_byte *image,
int bs, int *big, int bits);
static unsigned unoptimizeReloc(upx_byte **in, upx_byte *image, MemBuffer *out, int bs,
int bits);
static upx_byte *optimizeReloc32(upx_byte *in, unsigned relocnum, upx_byte *out,
upx_byte *image, int bs, int *big);
static upx_byte *optimizeReloc(
upx_byte *in, unsigned relocnum,
upx_byte *out, upx_byte *image, unsigned headway,
int bs, int *big, int bits);
static unsigned unoptimizeReloc(upx_byte **in, upx_byte *image, MemBuffer *out, int bs, int bits);
static upx_byte *optimizeReloc32(
upx_byte *in, unsigned relocnum,
upx_byte *out, upx_byte *image, unsigned headway,
int bs, int *big);
static unsigned unoptimizeReloc32(upx_byte **in, upx_byte *image, MemBuffer *out, int bs);
static upx_byte *optimizeReloc64(upx_byte *in, unsigned relocnum, upx_byte *out,
upx_byte *image, int bs, int *big);
static upx_byte *optimizeReloc64(
upx_byte *in, unsigned relocnum,
upx_byte *out, upx_byte *image, unsigned headway,
int bs, int *big);
static unsigned unoptimizeReloc64(upx_byte **in, upx_byte *image, MemBuffer *out, int bs);
// target endianness abstraction